字串 最長回文子串

2021-10-23 06:58:02 字數 715 閱讀 9212

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。

示例 1:

輸入: 「babad」

輸出: 「bab」

注意: 「aba」 也是乙個有效答案。

示例 2:

輸入: 「cbbd」

輸出: 「bb」

思路:用manacher

class

solution

int max=1;

int res=0;

//儲存最長回文中心的位置

int[

] help=

newint

[chss.length]

;int c=-1

;int r=-1

;int j=0;

while

(j!=help.length)

if(j+help[j]

>r)

if(help[j]

>=max)

j++;}

stringbuilder sb=

newstringbuilder()

;for

(int t=res-max+

1;t<=res+max-

1;t++

)return sb.

tostring()

;}}

字串 最長回文子串

最長回文子串 回文子串 即正著看和倒著看相同的子串,如 abcba yyxyy。由於此類題目為面試筆試常考題目,所以現在就來整理一下啦。1 暴力求解法 最直接的想法就是暴力求解,但是我們可以看到下面的 時間複雜度是o n 3 string findlongeststring string str 暴...

字串 最長回文子串

介紹一下幾個概念 就是從左往右和從右往左讀是一樣的。就如標語 我為人人,人人為我 子串,顧名思義,就是在原字串中的子集,就叫子串。串就是不能分割的,就是連在一起,這個要區別與子串行,子串行就是一段 一段的。列舉各個起點和終點,然後進行判斷該子串是否為回文,最後就是更新最長的回文串。列舉起點和終點 o...

字串處理 最長回文子串

題目描述 給定乙個字串,求它的最長回文子串的長度.方法一 中心擴充套件法.由於回文串中,以某個字元為中心的字首和字尾一定是相同字元。可以利用此方法列舉中心位置,然後進行擴充套件,從而找到最長回文子串。include include using namepace std int longestpali...