A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vincentgood 中级黑马   /  2014-4-21 12:07  /  1586 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

所谓回文,就是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;
}

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 很给力!

查看全部评分

3 个回复

倒序浏览
  1. //回文数就是正序等于反序,所以这样的思路也可以
  2. //org为原始数组
  3. public static boolean IsHuiwen(String[] org)
  4. {
  5.         //获取一个原始数组的反序存入after数组
  6.         String[] after=new String[org.length];
  7.         int j=0;
  8.         for(int i=org.length-1;i>=0;i--,j++)
  9.         {
  10.                 after[j]=org[i];
  11.         }
  12.         for(int i=0;i<org.length;i++)
  13.         {
  14.        if(org[i]!=after[i])//有一个字符不等,就相当于肯定不是回文,直接返回false
  15.                 {
  16.                         return false;
  17.                 }
  18.         }
  19.         return true;
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 悠然丶 于 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);      //让原来的字符串和反转后的字符串相比较   
        }

评分

参与人数 1技术分 +1 收起 理由
Silent_memory + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 Silent_memory 于 2014-4-22 23:08 编辑

int count = len / 2;for (int  i = 0, int  j = len - 1; i < count; i++, j--) {
}
这样小改动下能更容易阅读和理解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马