题目:给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。
示例 2:
输入:s = “cbbd”
输出:“bb”
示例 3:
输入:s = “a”
输出:“a”
示例 4:
输入:s = “ac”
输出:“a”
如果一个字符串正着读和反着读是一样的,那它就是回文串。
//1.暴力解法
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;//tem存放子串反转结果
std::reverse(te

该博客探讨如何解决寻找字符串中最长回文子串的问题。通过举例说明,如输入“babad”,输出“bab”或“aba”。讨论了两种方法,包括效率较低的暴力解法和更优的动态规划法。动态规划思路是,当子串s[i+1:j-1]为回文串且s的第i和j个字母相同,s[i:j]即为回文串。

8万+

被折叠的 条评论
为什么被折叠?



