回文字符串校验

Posted

tags:

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

校验回文字符串
定义头部索引 和尾部索引
集中向中部进行搜索
注意空字符串 代码设计如下:

public static boolean isPalindrome(String s) {
   boolean flag=true;
   if(s.length()==0){
       return flag;
   }
   char[] cs=s.toCharArray();
   int startIndex = 0;
   int endIndex = s.length() - 1;
   char sc,ec;
   while(startIndex <= endIndex ){
        sc=s.charAt(startIndex);
        ec=s.charAt(endIndex);
       if(!Character.isLetterOrDigit(sc)){
           startIndex++;

       }else if((!Character.isLetterOrDigit(ec))){
           endIndex--;   
       }else{//如果两端都是数字或字符串的时候就行对比
           if(Character.toLowerCase(sc)!=Character.toLowerCase(ec)){//如果不是对称位置不相等 z则不为回文字符串
               flag=false;
               break;
           } 
          startIndex++;
          endIndex--;

       }

   }

   return flag;

}

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

算法竞赛入门经典 例题 3-4 回文串

Manachar算法详解

《算法竞赛入门经典》3.3最长回文子串

最长回文字串暴力

字符串处理算法回文判断的算法设计及C代码实现

使用 Deque 检查给定字符串是不是为回文