图片.png
function f(str){
var len = str.length
var dp = new Array(len)
//确定边界
for(let i = 0; i< len; i++){
var row = new Array(len).fill(0)
row[i]= 1
if(i < len-1){
str[i+1] === str[i] ? row[ i+1 ] = 1: row[ i+1 ] = 0
}
dp[i] = row.slice()
}
//填写表格
var tar = str[0] || null
for(let i = 0; i< len; i++){
for(let j = i+2; j < len; j++){
if(str[i] === str[j]){
dp[i][j] = dp[i+1][j-1]
if(dp[i][j] === 1 && tar.length < (j-i+1)){
tar = str.substring(i, j+1)
}
}else {
dp[i][j] = 0
}
}
}
return tar
}
var res = f('abccbd')
console.log(res)
图片.png