class Solution {
public:
bool isPalindrome(string s) {
}
};
125. 验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama" 输出: true 解释:"amanaplanacanalpanama" 是回文串
示例 2:
输入: "race a car" 输出: false 解释:"raceacar" 不是回文串
提示:
1 <= s.length <= 2 * 105
s
由 ASCII 字符组成原站题解
golang 解法, 执行用时: 296 ms, 内存消耗: 8.8 MB, 提交时间: 2020-11-12 14:51:35
func isPalindrome(s string) bool { var sgood string for i := 0; i < len(s); i++ { if isalnum(s[i]) { sgood += string(s[i]) } } n := len(sgood) sgood = strings.ToLower(sgood) for i := 0; i < n/2; i++ { if sgood[i] != sgood[n-1-i] { return false } } return true } func isalnum(ch byte) bool { return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') }
python3 解法, 执行用时: 56 ms, 内存消耗: 14.7 MB, 提交时间: 2020-11-11 16:58:00
class Solution: def isPalindrome(self, s: str) -> bool: s = re.sub('[\W_]+', '', s.lower()) return s == s[::-1]
python3 解法, 执行用时: 72 ms, 内存消耗: 14.7 MB, 提交时间: 2020-11-11 16:56:55
class Solution: def isPalindrome(self, s: str) -> bool: s = re.sub('[\W_]+', '', s.lower()) s1 = list(s) s1.reverse() return s == ''.join(s1)