题目简介:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
1 | 输入: 121 |
示例 2:
1 | 输入: -121 |
示例 3:
1 | 输入: 10 |
进阶:
你能不将整数转为字符串来解决这个问题吗?
思路:
由于不能将整数转换为字符串,所以尝试倒置原数,并与原数进行比较。
每次将x % 10
,便得到了x
的最后一位数字,然后reverse_num = reverse_num * 10 + x % 10
进行累加,最后再将x / 10
,便去除了当前的最后一位数字。这样子循环结束后,reverse_num
便为倒置后的数,再和原数比较即可。
tips:
- 负数不会有回文数,直接返回
false
。 - 由于
reverse_num * 10 + x % 10
可能会溢出,所以将reverse_num
设为long
类型。
代码如下:
1 | class Solution { |