9. Palindrome Number

Leetcode Diary

Posted by Xudong on July 5, 2020

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

Input: 121
Output: true

Example 2:

Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

Follow up: Coud you solve it without converting the integer to a string?

Thoughts

  • reverse num
  • negative should always be false

Code(JAVA)

public boolean isPalindrome(int x) {
  if (x<0)
      return false;
   return x == reverseNum(x); 
}
private int reverseNum(int x) {
    int res = 0;
    while(x!=0){
        res = res * 10 + x % 10;
        x = x / 10;
    }
    return res;
}