這篇看一下中心擴散演算法。
輸入: "babad"
輸出: "bab"
注意: "aba" 也是乙個有效答案。
示例 2:
輸入: "cbbd"
輸出: "bb"
**:
#include#include#include#include#includeusing namespace std;
//最長回文子串
//中心擴散演算法
class solution
return ;
}string longestpalindrome(string s)
if (right2 - left2 > end - start)
cout << "-------------------" << endl;
}cout << "start=" << start << "end=" << end << endl;
return s.substr(start, end - start + 1);
}};int main()
執行:
left1=0,right1=0
left2=1,right2=0
-------------------
left1=0,right1=2
left2=2,right2=1
-------------------
left1=1,right1=3
left2=3,right2=2
-------------------
left1=3,right1=3
left2=4,right2=3
-------------------
left1=4,right1=4
left2=5,right2=4
-------------------
start=0end=2
bab這個分為1位擴散和2位擴散
回文字串 回文子串 中心擴散法
解答參考 動態規劃 中心擴散 manacher 演算法 問題描述 給你乙個字串s,找到s中最長的回文子串。比如給定字串s babad 找出最長的回文子串為 bab 演算法思路 本題可以採用暴力破解法 中心擴散法 manacher演算法3種方法,本篇文章講解暴力破解法。暴力法採用雙指標兩邊夾,驗證是否...
演算法訓練 最長回文子串(中心擴充套件演算法)
問題描述 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例2 輸入 cbbd 輸出 bb 這是leetcode的一道關於字串的題,在官方給出的題解有5種思路,分別是 最長公共子串 暴力法...
LeetCode演算法之最長回文子串 中心擴充套件演算法
一.題目 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 二.及思想 class solution return s.substring start,...