Leetcode125. Valid Palindrome
class Solution {
public boolean isPalindrome(String s) {
if(s.length()<1) return true;
s = s.toLowerCase();
int l = 0, r = s.length()-1;
while(l<=r){
while(l<r&&!isAlphaNumeric(s.charAt(l))) l++;
while(l<r&&!isAlphaNumeric(s.charAt(r))) r--;
if(l==r) return true;
if(s.charAt(l)==s.charAt(r)){l++;r--;}
else return false;
}
return true; //l>r会退出循环,这时应该是最后两个元素是一样的,于是l,r互换导致
}
private boolean isAlphaNumeric(char c){
if((c>='0'&&c<='9')||(c>='a'&&c<='z')) return true;
return false;
}
}
Runtime: 4 ms, faster than 84.28% of Java online submissions for Valid Palindrome.
Memory Usage: 39 MB, less than 26.69% of Java online submissions for Valid Palindrome.

浙公网安备 33010602011771号