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
广告