LeetCode 125. 验证回文串

2022-09-09  本文已影响0人  草莓桃子酪酪
题目

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是回文串,返回 true ;否则,返回 false 。

例:
输入: "A man, a plan, a canal: Panama"
输出:true
解释:"amanaplanacanalpanama" 是回文串。

方法一:暴力解法
class Solution(object):
    def isPalindrome(self, s):
        letter = [chr(i) for i in range(97, 123)]
        number = [str(i) for i in range(10)]
        s = s.lower()
        arr = []
        for i in range(len(s)):
            if s[i] in letter or s[i] in number:
                arr.append(s[i])
        left, right = 0, len(arr)-1
        while left < right:
            if arr[left] != arr[right]:
                return False
            left += 1
            right -= 1
        return True
方法二:API
class Solution:
    def isPalindrome(self, s: str) -> bool:
        sgood = "".join(ch.lower() for ch in s if ch.isalnum())
        return sgood == sgood[::-1]
相关知识
参考

代码相关:https://leetcode.cn/problems/valid-palindrome/solution/yan-zheng-hui-wen-chuan-by-leetcode-solution/
切片:https://blog.csdn.net/Zombie_QP/article/details/125063501

上一篇 下一篇

猜你喜欢

热点阅读