Leetcode 解题(第9题)
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例1:
输入:121
输出:true
示例2:
输入:-121
输出:false
解释:从左往右读,为-121。从右向左读,为121-。因此它不是一个回文数。
示例1:
输入:10
输出:false
从右往左读,为01.因此它不是一个回文数。
解析:判断是否为数字,可以分为两个部分,正数和负数部分。负数不会是回文数。正数之需要将其进行“倒叙”。“倒叙”的关键在于我们要取出数字的每一位:先对10取余,再除以10,在对10取余…即可取出每一位。
代码(Python3版本)
class Solution:
def isPalindrome(self, x: int) -> bool:
temp = x
y = 0
rem = 0
if x < 0:
return False
else:
while(temp!=0):
rem = temp%10
y = y*10+rem
temp = temp//10
return y==x