题目描述:
https://leetcode.com/problems/longest-palindromic-substring/
解决方法:
https://leetcode.com/problems/longest-palindromic-substring/solution/
mycode(c++):
class Solution {
public:
string longestPalindrome(string s) {
if( s.length()<1)
return "";
int start = 0,end = 0;
for (int i = 0 ; i < s.length() ; i++){
int len1 = expandPalindrome(s,i,i);
int len2 = expandPalindrome(s,i,i+1);
int len = max(len1,len2);
if(len>end - start){
start = i - (len-1)/2;
end = i + len / 2;
}
}
return s.substr(start,end-start+1);
}
private:
int expandPalindrome(string s,int left,int right){
int l = left;
int r = right;
while( l >= 0 && r < s.length() && s.at(l)== s.at(r)){
l--;
r++;
}
return r - l - 1;
}
};
网友评论