美文网首页
递归方式判断一个字符串是否为回文字符串

递归方式判断一个字符串是否为回文字符串

作者: cactusjunjie | 来源:发表于2017-05-31 13:05 被阅读162次

    如题,代码如下:

    /*

    * 递归方式判断一个字符串是否为回文字符串

    */

    public class PartitionTest{

           public static void main(String[] args) { 

                  String str = "123456654321";

                  System.out.println("srcString = "+str);

                  System.out.println("srcString is "+(isPartition(str)?"":" not ")+" Partition");

           }

          /*

           * 实现原理:

           * 1、将原始字符串转换成字符数组;

           * 2、对比首尾两字符是否相等,如果该两字符不相等则直接返回false,否则对截取首尾两字符的子串继续调用该方法;

           * 3、对原始字符串的子串重复以上操作,直到子串为空;

           */

           public static boolean isPartition(String str){

                  char[] cArray = str.toCharArray();

                  int i = 0;

                  int j = cArray.length-1;

                  while(i<j){

                           //首尾两字符不相等,返回false

                           if(cArray[i]!=cArray[j]){

                                    return false;

                           }else{

                                    System.out.println("substring = "+str.substring(i+1, j));

                                    return isPartition(str.substring(i+1, j));

                            }

               }

               //遍历所有子串,返回true

              return true;

         }

    }

    相关文章

      网友评论

          本文标题:递归方式判断一个字符串是否为回文字符串

          本文链接:https://www.haomeiwen.com/subject/qfzdfxtx.html