题目链接
英文链接:https://leetcode.com/problems/palindrome-number/
中文链接:https://leetcode-cn.com/problems/palindrome-number/
题目详述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
1 | 输入: 121 |
示例 2:
1 | 输入: -121 |
示例 3:
1 | 输入: 10 |
进阶:
你能不将整数转为字符串来解决这个问题吗?
题目详解
- 反转这个数的后半部分,然后与它的前半部分判断是否相等。相等为回文数,不等则不是。
x < 0
时,存在一个-
号,不能与数字字符匹配,负数不是回文数。- 如果末尾最后一位为
0
,要满足回文数的条件是第一位也为0
,只有0
符合条件。 - 反转后半部分的数字后与前半部分判断。
- 数位长度为偶数时,判断
x == r
(如数1221,x = 12, r = 12)。 - 数位长度为奇数时,判断
x == r / 10
(如数12321,x = 12, r = 123)。
- 数位长度为偶数时,判断
- 综合起来就是判断
x == r || x == r / 10
。
1 | public class LeetCode_00009 { |