Longest Palindromic Substring(C++),longestpalindromic
Longest Palindromic Substring(C++),longestpalindromic
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)
{
int n=s.size();
if(n==0)
return "";
string lon=s.substr(0,1);
for(int i=0;i<n-1;i++)
{
string s1=expand(s,i,i);
if(lon.size()<s1.size())
lon=s1;
string s2=expand(s,i,i+1);
if(lon.size()<s2.size())
lon=s2;
}
return lon;
}
string expand(string s,int i,int j)
{
int l=i,r=j,n=s.size();
while(l>=0&&r<=n-1&&s[l]==s[r])
{
l--;
r++;
}
return s.substr(l+1,r-l-1);
}
};
相关文章
- 暂无相关文章
用户点评