leetcode第5題-最長回文サブ文字列


タイトル:sの文字列を指定し、sの中で最も長い回文サブ列を見つけます.sの最大長さは1000と仮定できます.
例1:
  : "babad"
  : "bab"
  : "aba"         。

例2:
  : "cbbd"
  : "bb"

中心拡張アルゴリズム:
回文中心の両側は互いにミラーリングされている.したがって、文字数が偶数の文字を含む文字の中心は、2文字の間にあることができる(例えば、「abba」の中心は2つの「b」の間にある)ため、回文はその中心から展開することができる.従って,2 n−1個のこのような中心がある.
コードは次のとおりです.
public class day04 {
    public static void main(String[]args){
        String str="nxlcuisdsdb";
         String result=longestPalindrome(str);
        System.out.println(result);
    }

    private static String longestPalindrome(String str) {
        if(str==null || str.length()<1) return "";
        if(str.length()==1)return str;
        int start=0;int end=0;
        for(int i=0;iend-start){
                start=i-(len-1)/2;
                end=i+len/2;
            }

        }
        return str.substring(start,end+1);
    }

    private static int Center(String str, int left, int right) {
        int l=left;int r=right;
        while(l>=0 && r 
  

 O(n^2), :O(1)。