# 9. Palindrome Number 回文数

@TOC

## # 题目描述

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.
``````

• Coud you solve it without converting the integer to a string?

## # 解题方法

### # 判断回文字符串

``````class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
if x < 0: return False
x = str(x)
N = len(x)
for i in range(N / 2):
if x[i] != x[N - 1 - i]:
return False
return True
``````

### # 翻转数字

``````public class Solution {
public boolean isPalindrome(int x) {
if (x < 0) return false;
int y = x;
int res = 0;
while(y > 0){
res = res * 10 + y % 10;
y /= 10;
}
return x == res;
}
}
``````

## # 日期

2017 年 5 月 7 日 2018 年 11 月 22 日 —— 感恩节快乐～