给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例:
输入:x = 121 输出:true
求解思路:
将某个需要判断的数字各个位置的数字进行颠倒形成一个新的数字,再去判断这个新的数字与原来需要判断的数字是否相等。
代码如下:
class Solution {
public:
bool isPalindrome(int x) {
if(x < 0) return false;
if(x < 10) return true;
long new_x = 0;
int old_x = x;
while(x){
new_x = new_x*10 + x%10;
x = x / 10;
}
return new_x == old_x;
}
};