输入一个整数,判断它是否为回文数。(回文数是指一个整数,它正读和反读对应的数值相同,如15351就是一个回文数而123则不是一个回文数)
时间: 2024-05-29 10:10:20 浏览: 38
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:
你能不将整数转为字符串来解决这个问题吗?
方法一:转换成字符串,判断反转后是否相等
class Solution:
def isPalindrome(self, x: int) -> bool:
if x < 0:
return False
else:
s = str(x)
return s == s[::-1]
方法二:取整和取余操作
class Solution:
def isPalindrome(self, x: int) -> bool:
if x < 0:
return False
else:
temp = x
y = 0
while temp != 0:
y = y * 10 + temp % 10
temp //= 10
return y == x
阅读全文