题解 | #最长回文子串#
最长回文子串
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;
    }
}
查看20道真题和解析