125. Valid Palindrome
2020-03-16 本文已影响0人
7ccc099f4608

(图片来源https://leetcode-cn.com/problems/valid-palindrome/
)
日期 | 是否一次通过 | comment |
---|---|---|
2020-03-16 | 0 |
递归
/** 可直接去掉非字母&转换成小写:String actual = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase(); */
public boolean isPalindrome(String s) {
if(s == null || s.length() <= 0) {
return true;
}
int l = 0, r = s.length()-1;
while(l <= r) { // 考虑l和r指向同一个元素
while(l<r && ! Character.isLetterOrDigit(s.charAt(l))) {
l++;
}
while(l<r && ! Character.isLetterOrDigit(s.charAt(r))) {
r--;
}
if(Character.toLowerCase(s.charAt(l)) != Character.toLowerCase(s.charAt(r))) {
return false;
}
l++;
r--;
}
return true;
}