JavaScript 中最接近的回文数


我们需要编写一个函数,如 nearestPalindrome(),输入一个数字 n,并返回最接近数字 n 的一个回文数。

例如,

  • 如果输入数字为 264,那么输出应该为 262

  • 如果输入数字为 7834,那么输出应该为 7887

基本上,方法如下:我们将数字分成两半(相对于其长度),并返回一个新数字,该数字恰好是第一部分重复两次。

示例

const findNearestPalindrome = num => {
   const strNum = String(num);
   const half = strNum.substring(0, Math.floor(strNum.length/2));
   const reversed = half.split("").reverse().join("");
   const first = strNum.length % 2 === 0 ? half : strNum.substring(0,
   Math.ceil(strNum.length/2))
   return +(first+reversed);
};
console.log(findNearestPalindrome(235));
console.log(findNearestPalindrome(23534));
console.log(findNearestPalindrome(121));
console.log(findNearestPalindrome(1221));
console.log(findNearestPalindrome(45));

输出

控制台中的输出如下:

232
23532
121
1221
44

更新日期:2020 年 8 月 31 日

662 次浏览

启动您的职业生涯

完成课程以获得认证

开始
广告