黑马程序员技术交流社区
标题:
判断字符串是不是回文,
[打印本页]
作者:
vincentgood
时间:
2014-4-21 12:07
标题:
判断字符串是不是回文,
所谓回文,就是abcdedcba,或者123454321,这样的,下面这个方法应该 可以做到
//判断字符串是否是回文的方法
public static boolean isPalindrome(final CharSequence value) {
final int len = value.length();
if (len <= 1) {
return false;
}
for (int count = len / 2, i = 0, j = len - 1; i < count; i++, j--) {
if (value.charAt(i) != value.charAt(j)) {
return false;
}
}
return true;
}
作者:
忘川
时间:
2014-4-21 23:00
//回文数就是正序等于反序,所以这样的思路也可以
//org为原始数组
public static boolean IsHuiwen(String[] org)
{
//获取一个原始数组的反序存入after数组
String[] after=new String[org.length];
int j=0;
for(int i=org.length-1;i>=0;i--,j++)
{
after[j]=org[i];
}
for(int i=0;i<org.length;i++)
{
if(org[i]!=after[i])//有一个字符不等,就相当于肯定不是回文,直接返回false
{
return false;
}
}
return true;
}
复制代码
作者:
悠然丶
时间:
2014-4-21 23:46
本帖最后由 悠然丶 于 2014-4-21 23:49 编辑
所谓回文,就是abcdedcba,或者123454321,这样的.
//你会发现回文就是对称.....
我可以说个更简单的么?
public static boolean isHuiwen(String str) {
StringBuffer sb1 = new StringBuffer(); //定义一个容器对字符串进行操作
sb1 = sb1.append(str); //先把字符串装进容器
sb1 = sb1.reverse();//然后把字符串进行反转
String s2 = sb1.substring(0); //反转完成之后把字符串截取出来
return str.equals(s2); //让原来的字符串和反转后的字符串相比较
}
作者:
Silent_memory
时间:
2014-4-22 23:06
本帖最后由 Silent_memory 于 2014-4-22 23:08 编辑
int count = len / 2;for (int i = 0, int j = len - 1; i < count; i++, j--) {
}
这样小改动下能更容易阅读和理解
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2