您的位置:首页 > 其它

【LeetCode】 005. Longest Palindromic Substring

2016-12-28 07:57 489 查看
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.

Example:
Input: "babad"

Output: "bab"

Note: "aba" is also a valid answer.


Example:
Input: "cbbd"

Output: "bb"


public class Solution {
private int lower, maxLen;
public String longestPalindrome(String s) {
if (s.length() < 2) {
return s;
}
char[] array = s.toCharArray();
for (int i = 0; i < s.length() - 1; i++) {
helper(array, i, i);
helper(array, i, i + 1);
}
return s.substring(lower, lower + maxLen);
}

private void helper(char[] array, int low, int high) {
while (low >= 0 && high < array.length && array[low] == array[high]) {
low--;
high++;
}
if (high - low - 1 > maxLen) {
lower = low + 1;
maxLen = high - low - 1;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: