Fork me on GitHub

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

posted @ 2019-08-08 16:01  cznczai  阅读(116)  评论(0编辑  收藏  举报