125. 验证回文串 - 力扣(LeetCode) (leetcode-cn.com)
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
解释:"amanaplanacanalpanama" 是回文串
class Solution {
public boolean isPalindrome(String s) {
int n = s.length();
StringBuilder sb = new StringBuilder();
for(int i=0; i<n; i++){
char ch = s.charAt(i);
//如果字符是字母或数字,就放到sb中
if(Character.isLetterOrDigit(ch)){
sb.append(ch);
}
}
int m =sb.length();
int left = 0, right = m-1;
while(left < right){
//将字母转成小写,判断是否相等
if(Character.toLowerCase(sb.charAt(left++)) != Character.toLowerCase(sb.charAt(right--))){
return false;
}
}
return true;
}
}