中心擴散演算法 最長回文子串

2021-10-23 13:19:10 字數 1002 閱讀 6805

這篇看一下中心擴散演算法。

輸入: "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,...