最長回文子串

2021-10-07 02:00:10 字數 1073 閱讀 6009

題目:

解法一:

暴力解法:找出該字串的所有子串,判斷回文串,取最大,這裡不做演示

解法二:

時間複雜度為o(n^2)

具體做法如下:

以乙個字元為中心,向左右擴充套件,如果左右字元相同,則繼續擴充套件,否則,改變中心字元的位置,繼續擴充套件操作

在這個過程中,以i為指標,i可能在串s某個奇數子串的中間位置,也可能是串s某個偶數子串的偏左位置,因此,需要按照奇數和偶數的方案,對字串遍歷

實現**如下;

package cn.palindrome;

/** * @program: algorithm_learn

* @description: 最長回文子串

* @author: mr.luo

* @create: 2020-06-10 19:44

*/public

class

solution_3

for(

int i =

0; i

length()

-1; i++

)return s.

substring

(index, index + len);}

private

static

void

palindromehelper

(string s,

int l,

int r)

if(len < r - l -1)

}public

static

void

main

(string[

] args)

}

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

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,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...