---
# System prepended metadata

title: 'Week.3.EZ [125. Valid Palindrome]'
tags: [leetcode]

---

---
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/