您的位置:首页 > 编程语言 > Java开发

Java实现回文字符串判断

2017-03-22 10:11 351 查看
最近遇到很多判断回文的问题,这里列出自己的一些解决思路

回文简单的解释就是前后翻转之后还是相同的

这里先说一下判断回文字符串的三种思路:递归、双指针以及字符串翻转

1.双指针:即在字符串前后同时进行移动判断,对应位置上的字符是否相同:

public boolean Palindrome(String s,int start,int end){

char[] c = s.toCharArray();

if (start >= end) return true;

return c[start] == c[end] && Palindrome(s,++start,--end);
}


2.利用字符串翻转进行判断(这也是最直接的判断方式):

public boolean Palindrome(String s){

StringBuffer stringBuffer = new StringBuffer(s);

return s.equals(stringBuffer.reverse().toString());

}


3.遍历字符串进行判断:

public boolean Palindrome(String s){
int len = s.length();
for (int i =0;i<len/2;i++)
if (s.charAt(i) != s.charAt(len-i-1))
return false;
return true;
}


希望有其他思路的朋友可以留言进行交流,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息