最長回文子串

2021-10-04 01:14:57 字數 723 閱讀 9290

題目描述

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

示例 1:

輸入: 「babad」

輸出: 「bab」

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

示例 2:

輸入: 「cbbd」

輸出: 「bb」

回文的字串左右對稱,所以可以取中間的字串,向左右兩邊分別推進,判別字元是否相同,當不相同時,輸出當前回文字串的長度。

由於回文字串可能是「abba」,也可能是「abcba」,所以需要查閱所有以兩個字母為中心的字串和所有以乙個字母為中心的字串,最終取出最大長度的字串。

**參考

char

*longestpalindrome

(char

* s)

s[left+len]

='\0'

;//將子串之後多餘的部分刪去

return s+left;

//從子串起始位置返回

}void

length

(char

* s,

int i,

int j,

int* len,

int* left)

if(j-i-

1>

*len)

}

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

最長回文子串

描述 輸入乙個字串,求出其中最長的回文子串。子串的含義是 在原串連續出現的字串片段。回文的含義是 正著看和倒著看是相同的,如abba和abbebba。在判斷是要求忽略所有的標點和空格,且忽略大小寫,但輸出時按原樣輸出 首尾不要輸出多餘的字串 輸入字串長度大於等於1小於等於5000,且單獨佔一行 如果...

最長回文子串

輸入乙個字元,求出其中最長的回文子串。子串的含義是 在元串中連續出現的字串片段。回文的含義是 正看和倒看相同,如abba和yyxyy,在判斷時候應該忽略所有的空格和標點符號,且忽略大小寫,但輸出應該保持原樣,輸入的字元長度不超過5000,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...