给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。
示例:
输入: "babad"
输出: "bab"
注意: "aba"也是有效答案
示例:
输入: "cbbd"
输出: "bb"
bool CheckPalindrome(string s, int low, int high) {
while (low <= high) {
if (s[low] == s[high]) {
low++; high--;
} else {
return false;
}
}
return true;
}
string longestPalindrome(string s)
{
int iLenOfS = s.size();
if(iLenOfS == 1)
{
return s;
}
int span = 0;
int i;
for(int span = iLenOfS-1; span>0; span--)
{
for(int i = 0; i < iLenOfS-span; i++)
{
if(s[i] == s[i+span])
{
if(CheckPalindrome(s,i,i+span))
{
return s.substr(i,span+1);
}
}
}
}
return s.substr(0,1);
}