文章目录
- @[toc]
- 题目描述
- 样例输入输出与解释
- 样例1
- 样例2
- 样例3
- 提示
- 进阶
- Python实现
文章目录
- @[toc]
- 题目描述
- 样例输入输出与解释
- 样例1
- 样例2
- 样例3
- 提示
- 进阶
- Python实现
个人主页:丷从心·
系列专栏:LeetCode
刷题指南:LeetCode刷题指南
题目描述
- 给一个整数
x
,如果x
是一个回文整数,返回true
;否则,返回false
- 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数
- 例如,
121
是回文,而123
不是
样例输入输出与解释
样例1
- 输入:
x = 121
- 输出:
true
样例2
- 输入:
x = -121
- 输出:
false
- 解释:从左向右读,为
-121
,从右向左读,为121-
,因此它不是一个回文数
样例3
- 输入:
x = 10
- 输出:
false
- 解释:从右向左读,为
01
,因此它不是一个回文数
提示
-2^31 <= x <= 2^31 - 1
进阶
- 不将整数转为字符串来解决这个问题
Python实现
class Solution:def isPalindrome(self, x: int) -> bool:if x < 0 or (x % 10 == 0 and x != 0):return Falsereverted_number = 0while x > reverted_number:reverted_number = reverted_number * 10 + x % 10x //= 10return x == reverted_number or x == reverted_number // 10