文章目录
一、回文串、子串、子序列
二、最长回文子串
1、蛮力算法
2、时间复杂度最优方案
一、回文串、子串、子序列
----
" 回文串 ( Palindrome ) " 是 正反都一样的字符串..., abccba , 001100 等字符串 ;
给定一个字符串 " abcd " ,
" 子串 ( SubString ) "是连续取的子字符串 , 如 : “ab” , “bc” , “cd” ,...“bcd” 等 , 不能跳跃字符 ; ( 连续字符 )
n
个字符串的子串个数是
\cfrac{n(n+1)}{2} +1
个 ;
" 子序列 ( SubSequence ) " 是可以非连续取字符串中的字符...1、蛮力算法
蛮力算法 :
① 先获取所有的子串 ; 嵌套两层循环 , 外层循环起点索引 , 内层循环终点索引 , 将
\cfrac{n(n+1)}{2} +1
个子串都遍历出来 ; 该操作是
O...(n^2)
的算法复杂度 ;
② 验证子串是否是回文串 ; 使用 相向双指针算法 , 设置两个指针 , 左指针指向字符串开始位置 , 右指针指向字符串结束位置 , 对比左右指针是否相等 , 如果相等