Description
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
Analyze
给定函数如下:
- @param x 一个整数
- @return true or false
easy,负数肯定不符合题意,然后就是把整数反转判断两个数是否相等就行,只要注意溢出就行了,跟 LeetCode 7. 整数反转 和 LeetCode 8. 字符串转换整数 一模一样的方法,这里不多赘述
Realization
- 负数处理
- 溢出处理和主循环
- 返回
-
提交
附源代码
bool isPalindrome(int x){
if(x < 0)return false;
long sum = 0;
int a = x;
while(a)
{
sum = sum * 10 + a % 10;
a /= 10;
}
if(sum == x)return true;
return false;
}