遍历中心点i.
L,R左右指针,一样即可扩宽。
定义奇偶是关键. 奇数L=i-1, R=i+1.在左右两侧。偶数随便L=i,R=i+1即可 [L+1,R-1]区间,因为最后一次又L–,R++各自多了一步.
string longestPalindrome(string s) {
string res;
int n = s.size();
for (int i = 0 ; i < n;i++){
int L = i - 1, R = i + 1;
while (L >= 0 && R < n && s[L] == s[R]) L--, R++;
if (res.size() < R - L - 1) res = s.substr(L+1, R-L-1);//回忆substr 起点,长度. len=R-L-1
L = i, R = i + 1;
while (L >= 0 && R < n && s[L] == s[R]) L--, R++;
if (res.size() < R - L - 1) res = s.substr(L+1, R-L-1);
}
return res;
}