leetCode刷题---最大回文子串
描述: 给定一个字符串s ,找到s 中最长的回文子串, 你可以假设 s的最大长度为1000
示例1:
输入: "babad" 输出: "bab" 注意 : " aba" 也是一个有效答案
示例2:
输入: "cbbd" 输出: "bb"
以某个元素为中心,分别计算偶数长度的回文最大长度和奇数长度的回文最大长度
private int index,len;
public String longestPalidrome(String s) {
if(s.length() < 2) {
return s;
}
for(int i =0;i<s.length() -1 ;i++) {
// 奇数长度因为中间算了1个
PalidromeHelper(s,i,i);
// 偶数长度
PalidromeHelper(S,i,i+1);
}
return s.subString(index,index + len);
}
public void PalidromeHelper(String s, int l,int r) {
while( l>=0 && r< s.length() && s.charAt(l) == s.charAt(r)) {
l --;
r++;
}
if(len < r-l -1) {
index = l+1;
len = r- l -1;
}
}
