Java - 判断字符串是否是回文

Posted 爱穿新衣服的姑凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java - 判断字符串是否是回文相关的知识,希望对你有一定的参考价值。

首先,回文是指类似于“12345”,“abcdcba”的形式,即正念和反念都是一样的字符串

判断字符串是否是回文,这边介绍3种办法

  1. 将字符串翻转,判断翻转后的字符串和原字符串是否相等
     1 public static void main(String[] args) {
     2     String s="abcdcba";
     3     // 用StringBuilder的reverse方法将字符串反转
     4     StringBuilder sb=new StringBuilder(s);
     5     String afterReverse=sb.reverse().toString();
     6     //判断反转后的字符串与原字符串是否相等,可用compareTo,equals,
     7     int isequal=afterReverse.compareTo(s);  //若相等则输出0
     8     if (isequal==0){
     9         System.out.println("是回文");
    10     }else
    11         System.out.println("不是回文");
    12 }

    注意:compareTo,equals判断字符串均考虑大小写,即大小写视为不想等,若需要不考虑大小写,则可以用equalsIgnoreCase

  2. for循环依次判断对应字符是否相等
     1     public static void main(String[] args) {
     2         String s="12344321";
     3         int l=s.length();
     4         System.out.println(l/2);
     5         int result=1;
     6         //从中间开始往两边比较
     7         for (int i=0;i<l/2;i++){
     8             if (s.charAt(i)==s.charAt(l-i-1)){
     9                 result=0;
    10             }else{
    11                 result=1;
    12                 break;  //比较有一个不想等时需要跳出循环,否则只要最后一个比较成立,就会返回result=0
    13             }
    14         }
    15         if (result==0){
    16             System.out.println("是回文");
    17         }else {
    18             System.out.println("不是回文");
    19         }
    20     }
  3. 其他待补充,例如将字符串从中间拆分,再比较,

以上是关于Java - 判断字符串是否是回文的主要内容,如果未能解决你的问题,请参考以下文章

Java - 判断字符串是否是回文

java语言判断一个数字是否为回文数字

Java 判断回文字符串有多少和其中的最大字符串

Java面试手册-算法篇给定一个非空字符串,最多删除一个字符,判断是否能成为回文字符串

添加字符判断是否为回文串

用递归调用来判断字符串是否是回文