Horje
JavaScript Program to Check for Palindrome Number

We are going to learn about Palindrome Numbers in JavaScript. A palindrome number is a numerical sequence that reads the same forwards and backward, It remains unchanged even when reversed, retaining its original identity.

Example:

Input : Number = 121
Output : Palindrome
Input : Number = 1331
Output : Palindrome

There are several methods that can be used to check if a number is a Palindrome Number in JavaScript, which are listed below:

We will explore all the above methods along with their basic implementation with the help of examples.

Approach 1: Using String Reversal

In this approach, we Convert the number to a string. Reverse the string and compare it with the original. Return true if equal, indicating a palindrome; otherwise, false.

Syntax:

let result = numStr.split('').reverse().join('');

Example: In this example we are using the above-explained approach.

JavaScript
function palindromeCheck(num) {
    let numStr = num.toString();
    let result = numStr.split('').reverse().join('');
    return numStr === result;
}

console.log(palindromeCheck(121)); // true
console.log(palindromeCheck(123)); // false

Output
true
false

Approach 2: Using Array Every() Method

In this approach, we convert number to string, and split it into array. Check if each digit matches its counterpart in reverse order using the every method for palindrome detection.

Syntax:

every((element, index, array) => { /* … */ })

Example: In this example, the number is converted to a string, and then that string is split into an array of characters. The every method is used to check if every digit in the array matches its counterpart in the reversed position

JavaScript
function palindromeCheck(number) {
    let numStr = number.toString();
    let numArr = numStr.split('');
    return numArr.every((num, index) =>
        num === numArr[numArr.length - 1 - index]);
}

// Checking the number is Palindrome
console.log(palindromeCheck(121));
console.log(palindromeCheck(12321));
console.log(palindromeCheck(12345)); 

Output
true
true
false

Approach 3: Using XOR Operator

In this approach, we convert number to string. Use XOR on ASCII values of corresponding characters, checking palindrome property. Return boolean value for palindrome detection.

Syntax:

a ^ b

Example:

JavaScript
function palindromeCheck(number) {
    let numStr = number.toString();
    let length = numStr.length;
    let result = 0;
    for (let i = 0; i < Math.floor(length / 2); i++) {
        result ^= numStr.charCodeAt(i) ^ 
                  numStr.charCodeAt(length - 1 - i);
    }
    return result === 0;
}

// Checking the given number is palidrome or not
console.log(palindromeCheck(121));
console.log(palindromeCheck(13531));
console.log(palindromeCheck(12345));

Output
true
true
false

Approach 4: Using for Loop and Math.floor() Method

In this approach, we are using Math.floor method, reverse the number iteratively. Compare reversed number with original for palindrome check. Exclude negatives.

Syntax:

for (let temp = original; temp > 0;
temp = Math.floor(temp / 10)) {
reversed = reversed * 10 + temp % 10;
};

Example: In this example, the palindromeCheck function uses a for loop to reverse positive numbers. It compares the reversed and original numbers, returning true for palindromes and false otherwise.

JavaScript
function palindromeCheck(number) {
    if (number < 0) {
        return false;
    }
    let original = number;
    let reversed = 0;

    for (let temp = original; temp > 0;
        temp = Math.floor(temp / 10)) {
        reversed = reversed * 10 + temp % 10;
    }

    return number === reversed;
}

console.log(palindromeCheck(121));
console.log(palindromeCheck(12321));
console.log(palindromeCheck(12345));

Output
true
true
false

Approach 5: Using Recursion

In this approach, we convert the number to a string. We then use a recursive function to check if the first and last characters of the string are the same, gradually moving towards the center of the string. If they match, the function continues checking the next pair of characters until all pairs are checked. If they don’t match, it returns false.

Example: In this example, the ‘palindromeCheck‘ function converts the number to a string and calls the recursive function isPalindrome with the starting and ending indices of the string.

JavaScript
function palindromeCheck(number) {
    let numStr = number.toString();
    return isPalindrome(numStr, 0, numStr.length - 1);
}

function isPalindrome(str, start, end) {
    if (start >= end) return true;
    if (str[start] !== str[end]) return false;
    return isPalindrome(str, start + 1, end - 1);
}

// Checking the given number is palindrome or not
console.log(palindromeCheck(121));    // true
console.log(palindromeCheck(12321));  // true
console.log(palindromeCheck(12345));  // false
console.log(palindromeCheck(1221));   // true

Output
true
true
false
true





Reffered: https://www.geeksforgeeks.org


JavaScript

Related
JavaScript Count Distinct Occurrences as a Subsequence JavaScript Count Distinct Occurrences as a Subsequence
JavaScript Program to find Lexicographically next String JavaScript Program to find Lexicographically next String
How does Array.prototype.slice.call work in JavaScript ? How does Array.prototype.slice.call work in JavaScript ?
JavaScript URLify a given string (Replace spaces is %20) JavaScript URLify a given string (Replace spaces is %20)
Square Root (Sqrt) Decomposition Algorithm Using JavaScript Array Square Root (Sqrt) Decomposition Algorithm Using JavaScript Array

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
14