leetcode09.回文数

  • 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

    回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    • 例如,121 是回文,而 123 不是。

示例:

1
2
3
4
5
6
输入:x = 121
输出:true

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。


分析:

1


代码

  • C++

  • 字符串
1
2
3
4
5
6
7
8
9
10
class Solution {
public:
bool isPalindrome(int x) {
string s = to_string(x);
string t = s;
reverse(s.begin(), s.end());

return s == t;
}
};
  • 数学
1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0) return false;
long long t = 0, num = x;
while (x) {
t = t * 10 + x % 10;
x /= 10;
}

return num == t;
}
};

[原题链接](9. 回文数 - 力扣(Leetcode))

0%