给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
我的思路:
首先定义一个long类型的变量y来模拟整数x的倒序,
(这里为什么要用long类型而不用int类型呢?是因为这里容易遇到有符号整型数溢出的情况),
使用一个while循环,将x的低位转换为高位,将x的高位转换为低位赋值给y,最后比较y,x二者是否相等。
我的代码:
class Solution {
public:
bool isPalindrome(int x) {
long y=0;
int num=x;
if(x<0) return false;
while(num!=0){
y=y*10+num%10;
num/=10;
}
return x==y;
}
};
数媒202 潘ZY