Leetcode

Palindrome Number

Palindrome Number

Given a number x we need to return true or false if the number is a palindrome or not.

Example:

x = 121 => true

x = 2334 => false

This requires some math tricks

You can use the modulo operator to get the last digit of a number

So 121 % 10results in 1

Using Integer Division we can "remove" the last digit of a number

So 121 // 10results in 12

This is all we need to complete this challenge



function isPalindrome(x:number):boolean {

if(x < 0) return false;

let tmp = x;
let reversed = 0
while(tmp > 0){
	let lastDigit = tmp % 10
	reversed = reversed * 10 + lastDigit
	tmp = Math.floor(tmp / 10)
}

return reversed == x;


}

Time: O(log k)because we are removing one digit each iteration

Space: O(1)