题目地址:
https://leetcode.com/problems/palindrome-number/
给定一个整数,如果其从左向右和从右向左念出来是一样的,则返回true,否则返回false。注意,负号也要算进去。
直接模拟即可。代码如下:
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0) return false;
long long reversedNumber = 0, n = x;
while (n) {
reversedNumber *= 10;
reversedNumber += n % 10;
n /= 10;
}
return (long long)x == reversedNumber;
}
};
时间复杂度 O ( log n ) O(\log n) O(logn),空间 O ( 1 ) O(1) O(1)。