Skip to content

Instantly share code, notes, and snippets.

@sAVItar02
Created November 19, 2024 03:32
Show Gist options
  • Save sAVItar02/aef23017b7f73bc026e0970e78b9f286 to your computer and use it in GitHub Desktop.
Save sAVItar02/aef23017b7f73bc026e0970e78b9f286 to your computer and use it in GitHub Desktop.
Palindrome Number
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if(x < 0) return false;
function rec(num, rev = 0) {
if(num == 0) return rev;
return rec(Math.floor(num / 10), (rev * 10 + (num % 10)))
}
let rev = rec(x, 0);
if(rev == x) return true;
return false;
};
// If negative return false
// recursive function to reverse the number
// If reverse and given are same then return true, else return false
// Way to reverse number:
// 1. Get number % 10 and store it in a variable
// 2. Keep the floor value of number / 10
// 3. Repeat and add reverse * 10 plus the step 1 value
// Time: O(log(n))
// Space: O(1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment