LeetCode No.9 | StriveZs的博客

LeetCode No.9

LeetCode第九题

今天从天津回石家庄,跑了一天晚上才收拾好,今天就做了个简单的题目,明天争取两道题,干巴爹。

题目描述

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
示例 1:

输入: 121
输出: true
示例 2:

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

输入: 10
输出: false
解释: 从右向左读, 01 。因此它不是一个回文数。
进阶:

你能不将整数转为字符串来解决这个问题吗?

代码

Python版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""
if x < 0:
return False
x = str(abs(x))
reverse_x = x[::-1]
if reverse_x == x:
return True
else:
return False


if __name__ == '__main__':
s = Solution()
print(s.isPalindrome(10))

C++版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution {
public:
string intToStr(int number){
string result = "";
bool flag = false;
int temp = number;
while(temp != 0){
result += ((temp % 10) + '0');
temp /= 10;
}
reverse(result.begin(),result.end());
return result;
}
bool isPalindrome(int x) {
if(x < 0){
return false;
}
else{
string goal="";
string use = goal = intToStr(x);
reverse(use.begin(),use.end());
if(use == goal){
return true;
}
else{
return false;
}
}
}
};
StriveZs wechat
Hobby lead  creation, technology change world.