最長回文子串問題

2021-06-22 06:32:47 字數 467 閱讀 5336

最長回文子串

定義: 給定字串str, 如s 滿足以下條件

1)s是str的子串

2) s 是乙個回文字串

則 s是str的回文字串。

這個演算法的要求是求出str的最長回文子串。

乙個容易犯的錯誤

源字串和反轉字串的最長公共子串。

其實這個想法錯誤的 eg: str=abcefdcfecba  反轉後: str'=abcefcdfecba這兩個字串的最長公共子串是: abcef  但他根本就不是乙個回文字串 所以說這這個想法是錯誤的

其他思路:

一: 暴力列舉法。 列舉出該字串的所以子串,並判斷是否是回文字串。 能後找出最長的

二: 列舉中心位置法   假設a[i]是回文子串的中心點 從中間開始往兩邊掃 跨度最大的為所求(注:需要考慮奇偶性)

三: 預處理法: 這個方法和第二個方法差不多。是法2的變形。在字元之間插入'#'  

最長回文子串問題

最長回文子串問題是乙個經典問題,成熟的演算法有很多,這篇部落格採用的方案是基於longest common substring的,關於longest common substring可參考 這裡。也是參照上篇部落格修改的 include include include using namespace...

最長回文子串問題

最近找實習刷題中,遇到好多問題,有coding2小時還報錯的無奈,也有戰勝100 的孤獨,謹在此記錄一二,與君共勉。給定乙個字串 s,找到 s中最長的回文子串。你可以假設 s 的最大長度為1000 來自leetcode第5題 public class solution 開闢陣列存放所有字串回文狀態 ...

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

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