
思路:将s中无关元素去除,只留下字母和数字,然后字母统一转换成小写,得到一个新的string。再判断这个新的string是否为回文就好了。这次使用的判断回文的方法是将string装入stringbuilder,将stringbuilder反转一下(利用其reverse方法)。最后再判断一下反转后的string和原来的string是否相同。相同即返回true。下面给出代码:
class Solution {
public boolean isPalindrome(String s) {
if(s.equals("")){return true;}
s = s.replaceAll("[^a-zA-Z0-9]", "");
s = s.toLowerCase();
System.out.println(s);
StringBuilder sb = new StringBuilder(s);
String str = sb.reverse().toString();
if(s.equals(str)){return true;}
return false;
}
}
总结:
- StringBuilder.reverse()Time Complexity is O(n)
本文介绍了一种通过去除字符串中的非字母数字字符并转换为小写后,利用StringBuilder的reverse方法来判断字符串是否为回文的算法实现。该方法首先清理输入字符串,然后通过反转比较确定其回文特性。
1869

被折叠的 条评论
为什么被折叠?



