LeetCode—125. Valid Palindrome
题目
https://leetcode.com/problems/valid-palindrome/description/
判断字符串是不是回文。只考虑文字和数字,不考虑标点等。空字符认为是回文。
思路及解法
这道题思路和方法不难。只是会学到Java中字符串常用的接口,比如toLowerCase()转小写,isLetterOrDigit()判断是否是文字和数字。
代码
class Solution {
public boolean isPalindrome(String s) {
if(s==null || s.length()==1) return true;
s = s.toLowerCase();
int left=0, right=s.length()-1;
while(left<right){
while(!Character.isLetterOrDigit(s.charAt(left))&&left<right){
left++;
}
while(!Character.isLetterOrDigit(s.charAt(right))&&left<right){
right--;
}
if(s.charAt(left)==s.charAt(right)){
left++;
right--;
}else{
return false;
}
}
return true;
}
}