首页 > 其他 > 详细

LeetCode-最长回文子串

时间:2020-07-03 22:45:30      阅读:55      评论:0      收藏:0      [点我收藏+]

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

技术分享图片

 

 

 

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++;
                }
               

    }

 

LeetCode-最长回文子串

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!