• ㊗️
• 大家
• offer
• 多多！

## Problem

Given an integer x, return true if x is palindrome integer.

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

• For example, 121 is a palindrome while 123 is not.

Example 1:

Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.


Example 2:

Input: x = -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: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.


Constraints:

• $-2^{31} <= x <= 2^{31} - 1$

## Code

class Solution {
public boolean isPalindrome(int x) {
if(x < 0) return false;
if(x == 0) return true;
if(x % 10 == 0) return false;

int temp = 0;
while(x > temp){
int digit = x % 10;
temp = temp * 10 + digit;
x /= 10;
}

return (temp == x) || (temp / 10 == x);
}
}

class Solution {
public boolean isPalindrome(int x) {
if(x < 0) return false;
int keep = x;

int res = 0;
while(keep != 0) {
int digit = keep % 10;
int temp = res * 10 + digit;
if(temp / 10 != res){
return false;
}

res = temp;
keep /= 10;
}

return res == x;
}
}