代码1
Runtime: 23 ms, faster than 81.64% of Java online submissions for Longest Palindromic Substring.
class Solution {
private int low, max;
public String longestPalindrome(String s) {
if (s.length() < 2) return s;
for (int i = 0; i < s.length() - 1; i++) {
extendPalindrome(s, i, i);
extendPalindrome(s, i, i + 1);
}
return s.substring(low, low + max);
}
public void extendPalindrome(String s, int left, int right) {
while (left >= 0 && right < s.length()) {
if (s.charAt(left) == s.charAt(right)) {
left--;
right++;
}else {
break;
}
}
if (max < right - left - 1) {
max = right - left - 1;
low = left + 1;
}
}
}