5. Longest Palindromic Substring :manacher

遍历中心点 然后像两边扩出去

class Solution {
    public String longestPalindrome(String s) {
        String ans ="";
        for(int i = 0 ; i < s.length() ; i++) {
        	for(int x = i , y = i ; x>=0&&y<s.length()&&s.charAt(x)==s.charAt(y);x--,y++) {
        		if(ans.length()<y-x+1)
        			ans = s.substring(x, y+1); 
        	}
        	for(int x = i , y = i + 1; x>=0&&y<s.length()&&s.charAt(x)==s.charAt(y);x--,y++) {
        		if(ans.length()<y-x+1)
        			ans = s.substring(x, y+1); 
        	}
        }
		return ans;
	}
}

manacher

原文地址:https://www.cnblogs.com/cznczai/p/11321669.html