Valid Palindrome
class Solution {
public boolean isPalindrome(String s) {
if (s == null) {
return true;
}
int i = 0;
int j = s.length() - 1;
while (i < j) {
char left = s.charAt(i);
char right = s.charAt(j);
if (!isAlphaNumeric(left)) {
i++;
} else if (!isAlphaNumeric(right)) {
j--;
} else if (Character.toLowerCase(left) != Character.toLowerCase(right)) {
return false;
} else {
i++;
j--;
}
}
return true;
}
private boolean isAlphaNumeric(char c) {
return (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
}
}
class Solution:
def isPalindrome(self, s: str) -> bool:
if len(s) < 2:
return True
s = ''.join(c for c in s if c.isalnum())
s = s.lower()
for i in range(len(s)//2):
if s[i] != s[-i-1]:
return False
return True
最后更新于
这有帮助吗?