leetcode解题报告9. Palindrome Number
难度是easy
题目描述
判断一个整数是不是回文串。回文串指从左到右和从右到左是一样。
我的思路
最直接的思路是把整数转成字符串类型,再判断是不是回文串就行了。但是进一步想,其实可以更直接的,把一个整数翻转(高位变低位),如果是回文串,那翻转结果是和原来整数是一样的。
我的代码
class Solution {
public:
bool isPalindrome(int x) {
//处理负数
if (x < 0) {
return false;
}
//翻转数字,如果和原数字一样,说明是回文数字
//不考虑溢出
int ans = 0;
int t = x;
while (x > 0) {
ans = ans * 10 + (x % 10);
x /= 10;
}
return ans == t;
}
};
阅读官方题解
没有官方题解,思路差不多。比较简单
思想核心总结
数字翻转和回文串之间的联系