LeetCode 5. 最长回文子串
相关题目
解题思路
以回文串的中心为目标点,向左和向右延伸。每一次求出最长的字符串。
其中要分两种情况,一种是长度为奇数的回文子串,另一种是长度为偶数的回文子串。
** 相关代码**
class Solution {
public:string longestPalindrome(string s) {string res="";for(int i=0;i<s.size();i++){//长度为奇数的回文串int l1=i-1,r1=i+1;while(l1>=0&&r1<s.size()&&s[l1]==s[r1]){l1--;r1++;}l1++;r1--;if(res.size()<r1-l1+1)res = s.substr(l1,r1-l1+1);//长度为偶数的回文串int l2=i-1,r2=i;while(l2>=0&&r2<s.size()&&s[l2]==s[r2]){l2--;r2++;}l2++;r2--;if(res.size()<r2-l2+1)res = s.substr(l2,r2-l2+1);} return res; }
};