最长回文子串—JS |力扣
题目
给你一个字符串 s,找到 s 中最长的回文子串。
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
解题思路
- 动态规划
s[i,j]
是否是回文串取决于s[i+1,j-1]
是否是回文串
1.初始化
arr[i][j]
:表示s[i,j]
是否是回文串,如图1表示true,0表示false
2.定义两个值start
和maxlen
start
:表示最后结果s[i,j]
中的i;
-maxlen
:表示最后结果s[i,j]
的长度。
循环遍历len长度2至s.length
,start从0至s.length-len
其中len为2比较特殊,s[i,j]的取值为s[i]是否等于s[j]
其他取决于arr[i+1][j-1]
的值并s[i]
是否等于s[j]
将得到的结果存入start
和maxlen
值,最后返回