class Solution {
public:
string longestPalindrome(string s)
{
int m = s.size();
int k = 0;
string ans;
if (m == 0)
return "";
if (m == 1)
return s;
for(int i = 0; i < m; i++)
{
for(int j = i+1; j < m; j++)
{
if(panD(s,i,j))
{
if(j-i+1 >= k)
{
k = j-i+1;
ans = s.substr(i,k);
}
}
}
}
if(ans == "")
{
ans.push_back(s[0]);
return ans;
}
return ans;
}
bool panD(string s, int S, int E)
{
int K = floor(float((E-S)/2));
bool FLAG = true;
if(K >= 1)
{
for(int ki = 0; ki <= K; ki++)
{
if(s[S+ki] != s[E-ki])
{
return false;
}
}
}
else
{
if(s[S] != s[E])
return false;
}
return FLAG;
}
};
leet code 5. 最长回文子串(暴力解决法,内存溢出,算法正确,需优化)
最新推荐文章于 2022-10-19 21:53:44 发布