校验回文字符串
定义头部索引 和尾部索引
集中向中部进行搜索
注意空字符串 代码设计如下:
- 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;
- }
来源: http://www.bubuko.com/infodetail-2741666.html