题解 | #最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

import java.util.*;

public class Solution {
    public int getLongestPalindrome(String A, int n) {
        // write code here
      //给个初始最大长度,如果比我大则交换
        int res = 0;
      //暴力判断
        for(int i=0;i<=n;i++){
          //注意由于截取字符串取头不取尾,所以可以=n
            for(int j=i+1;j<=n;j++){
                String str = A.substring(i,j);
                if(isTrue(str)){
                    res = Math.max(j-i,res);
                }
            }
        }
        return res;
        
    }
  
  //传入字数串参数,判断字符串是否为回文串
    public boolean isTrue(String str){
        int start,end;
        start = 0;
        end = str.length()-1;
        char[] arr = str.toCharArray();
        boolean flag = true;
        while(start<end){
          //字符串如果有两个对称的字符不相等则不是回文串
            if(arr[start]!=arr[end]){
               flag = false;
                break;
            }
            start++;
            end--;
        }
        return flag;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务