刷题第一次看到超过100%,很惊喜,故记录一下
5. Longest Palindromic Substring
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example 1:
Input: "babad" Output: "bab" Note: "aba" is also a valid answer.
Example 2:
Input: "cbbd" Output: "bb"
class Solution {
public:
string longestPalindrome(string s) {
if(s.empty())return "";
if(s.size()==1)return s;
int start=0;
int max_len=1;
for(int i=0;i<s.size();){
int j=i-1;
while(s[++i]==s[j+1]);
int k=i;
while(j>=0&&k<=s.size()-1&&s[j]==s[k]){
--j,++k;
}
if(k-j-1>max_len){
max_len=k-j-1;
start=j+1;
}
}
return s.substr(start,max_len);
}
};
Runtime: 4 ms
Memory Usage: 8.8 MB