判断字符串是否为回文串
发布时间
阅读量:
阅读量

public class Solution {
//(1)别人方法
public static boolean isPalindrome(String s) {
if(s.isEmpty()) return true;
String str = s.replaceAll("\ W", ""); // 使用正则去除非字符数字的字符
str = str.toLowerCase();
for(int i = 0; i < str.length(); i++) {
if(str.charAt(i) != str.charAt(str.length() - i -1)) {
return false;
}
}
return true;
}
//(2)自我实现
public boolean isPalindrome(String s) {
if(s.isEmpty()) return true;
s= s.replaceAll("\ W", "");
/* for(int i=0;i!=s.length();i++){
if((s.charAt(i)>='A'&&s.charAt(i)<='Z')||(s.charAt(i)>='a'&&s.charAt(i)<='z')){
str+=s.charAt(i);
}
}*/
return isHuiwen(s);
}
//判断一个字符串是否为回文
public boolean isHuiwen(String s){
String str=s.toLowerCase();
int i=0;
int j=s.length()-1;
while(str.charAt(i)==str.charAt(j)&&i!=j)
{
i++;
j--;
}
return i==j?true:false;
}
public static void main(String[]args){
//System.out.println("Hello World!");
Solution s=new Solution();
String str="A man, a plan, a canal: Panama";
String str2="race a car";
String str3=""; //字符串可以为数字,字母
System.out.println(s.isPalindrome(str));
System.out.println(s.isPalindrome(str2));
System.out.println(s.isPalindrome(str3));
System.out.println(str3.length());
}
}
全部评论 (0)
还没有任何评论哟~
