Description:
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: "babad" Output: "bab" Note: "aba" is also a valid answer.
Example:
Input: "cbbd" Output: "bb"
Solution:
class Solution {
public:
string str_helper(string s, int left, int right)
{
int n = s.length();
while(left>=0 && right<=n-1 && s[left]==s[right]){
left--;
right++;
}
return s.substr(left+1, right-left-1);
}
string longestPalindrome(string s) {
if(s.length() <= 1)
return s;
string longest = s.substr(0,1);
for (int i=0; i<s.length(); i++){
string tmp = str_helper(s, i, i);
if (tmp.length() > longest.length()) {
longest = tmp;
}
tmp = str_helper(s, i, i+1);
if (tmp.length() > longest.length()) {
longest = tmp;
}
}
return longest;
}
};