#include<iostream>
using namespace std;
#include<unordered_set>
class Solution
{
public:
string longestPalindrome(string s)
{
string res = "";
string temp = "";
for (int i = 0; i < s.length(); i++)
{
for (int j = i; j < s.length(); j++)
{
temp = temp + s[j];
string tem = temp;
std::reverse(tem.begin(), tem.end()); //翻转
if (temp == tem)
res = res.length() > temp.length() ? res : temp;
}
temp = "";
}
return res;
}
};
void test01()
{
Solution a;
string s = "abdbdbabfh";
a.longestPalindrome(s);
}
int main()
{
test01();
system("pause");
return 0;
}
//#include<iostream>
//using namespace std;
//#include<unordered_set>
//
//class Solution
//{
//public:
// string longestPalindrome(string s)
// {
// if (s == "")
// {
// return "";
// }
// string result("");
// int num = s.size();
// //选择一个中心点,向两侧扩展
// for (int i = 0; i < num; i++)
// {
// //选择一个中心点,向两侧扩展
// //奇数组情况
// string tmpStr = expandHelper(s, i, i);
// //偶数组情况
// string tmpStr2 = expandHelper(s, i, i + 1);
//
// if (int(tmpStr.size()) > int(result.size()))
// {
// result = tmpStr;
// }
// if (int(tmpStr2.size()) > int(result.size()))
// {
// result = tmpStr2;
// }
// }
// return result;
// }
//private:
// string expandHelper(string& s, int left, int right)
// {
// int num = s.size();
// while (left >= 0 && right < num && s[left] == s[right])
// {
// left--;
// right++;
// }
// return(s.substr(left + 1, right - left - 1));
// //s.substr(pos,len) 从初始pos开始读取len个字符
// }
//};
//
//int main()
//{
//
// system("pause");
// return 0;
//}
05 最长回文子串
最新推荐文章于 2024-07-19 19:25:43 发布