Nearest palindrome in JavaScript

JavascriptWeb DevelopmentObject Oriented Programming

We are required to write a function, say nearestPalindrome() that takes in a number n and returns a palindromic number that is nearest to the number n.

For example −

  • If the input number is 264, then the output should be 262

  • If the input number is 7834, then the output should be 7887

Basically, the approach will be, we divide the number into two halves (w.r.t. its length) and return the new number which is just the first half concatenated twice.

Example

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));

Output

The output in the console will be −

232
23532
121
1221
44
raja
Published on 31-Aug-2020 06:30:41
Advertisements