leetcode 求最長回文子串

2021-10-06 21:02:08 字數 655 閱讀 3918

給定乙個字串,找到字串中最長的回文子串

例如:abcdcbd

最長回文子串為:bcdcb

動態規劃思想,假設找到了最長的回文子串,那麼去掉兩頭的字母,依然是回文子串數。

先找長度為1的回文數,然後判斷該回文子串的兩端增加字元後是否是回文子串,如果是則留下來,如果不是則捨棄。

記錄開始位置、結束位置是否是回文子串

需要考慮邊界條件

package org.example.palindrome;

public

class

palindrome

else

if(palen==1)

else

if(palindromelen[i]

[j]&& palen+

1>ans.

length()

) ans =

newstring

(s).

substring

(i,j+1)

;}}return ans;

}public

static

void

main

(string[

] args)

}

求最長回文子串

求最長回文子串,大概有以下幾種方法 1 錯誤!先翻轉再求最長公共子串 例如 abcdafdcba abcd x 即原串中包含翻轉串的子串時 2 暴力 遍歷每個字串,然後判斷是否是回文子串並記錄最長資訊 時間複雜度o n 3 3 動態規劃 時間複雜度o n 2 空間複雜度o n 2 dp i j 表示...

求最長回文子串

1.第一種方法 o n 2 動態規劃,用s i j 表示從i到j是最長回文字串,用乙個table i j 記錄字串從i到j是否為回文,這樣的話,從底部向上,table i i true 另外如果s i s i 1 則table i i 1 true,然後長度從3開始,如果s i 1 s j 1 則就...

求最長回文子串

利用中心擴充套件法求最長回文子串演算法複雜度為o 待改進 manacher方法,manacher 法將所有的字串全部變成奇數個字元。思想 回文子串一定是個中心對稱的圖形,有的對稱中心是乙個字母比如abcba,有的是對稱中心是兩個字母比如abba。所以需要分開進行 程式中會有體現 利用回文子串的這一特...