如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。
字母和数字都属于字母数字字符。
给定一个字符串 s
,如果它是 回文串 ,返回 true
;否则,返回 false
。
class Solution {
public boolean isPalindrome(String s) {
int len = s.length();
StringBuffer str = new StringBuffer();
for(int i = 0;i<len;i++){
char ch = s.charAt(i);
//判断ch是否是字母或数字
if(Character.isLetterOrDigit(ch)){
//将大写字母转换为小写字母
str.append(Character.toLowerCase(ch));
}
}
//将字符串str进行反转
StringBuffer str_rev = new StringBuffer(str).reverse();
return str.toString().equals(str_rev.toString());
}
}