京京和东东是好朋友。东东很喜欢回文。回文是指从前往后读和从后往前读是一样的词语。京京准备给东东一个惊喜,先取定一个字符串s,然后在后面附上0个或者更多个字母形成回文,京京希望这个回文越短越好。请帮助京京计算他能够得到的最短的回文长度。
var arr=readline().split('')
while(true){
var len=arr.length;//4 5
var mid=Math.floor(len/2);//2 2
for(var i=mid-1;i>=0;i--){
// arr[1] arr[2]; arr[1] arr[3]; arr[0] arr[4]
if(arr[i]!=arr[len-i-1]){
if(arr[len-i-1]==''){
arr[len-i-1]=arr[i];
break;
}
arr.push('')
break;
}
}
// 判断是否是回文
var old=arr.slice();// 注意不要直接用原来数组,因为reverse是改变原来数组的!
if(old.join('')==old.reverse().join('')){
console.log(arr.length);
break;
}
}
前端算法——回文字符串(通过二)
最新推荐文章于 2024-01-16 16:47:51 发布