--- image: https://leetcode.com/static/images/LeetCode_Sharing.png tags: leetcode --- # Week.3.EZ [125. Valid Palindrome] - Palindrome回文, 大寫變小寫, 移除非數字字母, 前後讀起來一樣 --- - 轉小寫, 去符號空格 - 用List前後比對 --- ```python class Solution: def isPalindrome(self, s: str) -> bool: # Palindrome回文, 大寫變小寫, 移除非數字字母, 前後讀起來一樣 # 用lower()先轉小寫 # Filter 根據isalnum判斷是否數字字母, 處理 str 回傳一個Filter物件, 可以List化 s = list(filter(str.isalnum, s.lower())) # 用''.join方法可以再組合成str (debug用) # print(''.join(s)) # 先算出長度-1給 index用 length = len(s) - 1 # 用 enumerate(s)才不會出現 not enough values to unpack 錯誤 # all可判斷 all iter 是否都為 True # 判斷方式為頭尾index判斷 return all(v == s[length-i] for i,v in enumerate(s)) ``` --- [125. Valid Palindrome]:https://leetcode.com/problems/valid-palindrome/description/