5. Longest Palindromic Substring -- 【M】Amazon Bloomberg Microsoft 面经必考经典多练习

https://leetcode.com/problems/longest-palindromic-substring/

最优:中间展开法 时间O(n ^ 2) 空间O(1)

https://discuss.leetcode.com/topic/23498/very-simple-clean-java-solution

五种方法合集:

http://wdxtub.com/interview/14520604914478.html

中间展开法

public class Solution {

private int start, max;

public String longestPalindrome(String s) {

if (s == null || s.length() < 2)

return s;

for (int i = 0; i < s.length(); i++) {

extendPalindrome(s, i, i); // check for odd length palindrome

extendPalindrome(s, i, i + 1); // check for even length palindrome

}

return s.substring(start, start + max);

}

private void extendPalindrome(String s, int j, int k) {

while (j >= 0 && k < s.length() && s.charAt(j) == s.charAt(k)) {

j--;

k++;

}

if (max < k - j - 1) {

start = j + 1;

max = k - j - 1;

}

}

}

动规方法还没有看

http://www.cnblogs.com/yuzhangcmu/p/4189068.html

**总结:

本质:

results matching ""

    No results matching ""