LeetCode-最长回文子串

思路一:从中心开始扩展,分两种情况判断

public int maxLength = 1;
    public int start = 0;
    public String longestPalindrome(String s) {
        if(null == s || s.length() == 0)
        {
            return "";
        }    
        char[] arr = s.toCharArray();
        for(int i = 0 ; i< arr.length ; i++)
        {
             isPalindrome(i-1,i+1,arr); //以arr[i]为中心点
             isPalindrome(i,i+1,arr);   //没有中心点
        }
        return s.substring(start,start+maxLength);

    }
    public void isPalindrome(int left , int right,char[] arr)
    {
            while(left >= 0 && right < arr.length && arr[left] == arr[right])                
                {
                     if(right - left + 1 > maxLength)
                     {
                        maxLength = right - left + 1;
                        start = left;
                     } 
                    left--;
                    right++;
                }
               

    }
原文地址:https://www.cnblogs.com/swqblog/p/13232761.html