LeetCode 9
https://leetcode.cn/problems/palindrome-number/description/
难度:简单
高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/
反转前一半数字。特判 x<0 的情况,此时 x 一定不是回文数。特判 x > 0 且 x 个位数是 0 的情况,由于 x 的最高位一定不是 0,所以 x 一定不是回文数。
时间复杂度:如果 x≤0 则时间复杂度为 O(1),否则时间复杂度为 O(logx)。
空间复杂度:O(1)。
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0 || x > 0 && x % 10 == 0) {
return false;
}
intev = 0;
while (rev < x / 10) {
rev = rev * 10 + x % 10;
x /= 10;
}
return rev == x || rev == x / 10;
}
};