不能用这个变成数组再reverse的方法判断是否回文,时间会爆炸
const line = readline()
const length = line.length
// function isReverse( str ) {
// const reverseStr = str.split("").reverse().join("")
// if( reverseStr === str ) {
// return true
// }else {
// return false
// }
// }
function isReverse( str ) {
let l, r, strLength = str.length;
if( strLength % 2 === 0 ) {
l = strLength / 2 - 1
r = strLength / 2
}else {
l = (strLength - 1) / 2
r = l
}
while( l >= 0 && r <= strLength - 1 ) {
if( str[l] === str[r] ) {
l--
r++
}else {
return false
}
}
return true
}
let max = 0
for( let i = 0; i < length; i++ ) {
for( let j = 0; j <= i; j++ ) {
const str = line.slice(j, i + 1)
if( isReverse( str ) ) {
max = Math.max(max, str.length);
}
}
}
console.log( max )

京公网安备 11010502036488号