问题出处:回文数
题目描述
判断一个整数是否是回文数,如果一个整数,正读和反读相同时,它就是回文数。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例1:
Input: 121
Output: true
示例2:
Input: -121
Output: false
说明:从左到右为-121,从右到左为121-,所以它不是回文数。
示例3:
Input: 10
Output: false
说明:从右到左为01,因此它不是回文数。
备注
不要用整型转为字符串的方法进行处理。
解题思路
- 将整数翻转,比较两者间的大小。
class Solution:
def isPalindrome(self, x):
if x < 0:
return False
else:
tmp_x = x
b = 0
while x > 0:
b = b * 10 + x % 10
x = int(x / 10)
if b == tmp_x:
return True
else:
return False