题目:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入:
121
输出:
true
示例 2:
输入:
-121
输出:
false
解释:
从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:
10
输出:
false
解释:
从右向左读, 为 01 。因此它不是一个回文数。
进阶:
你能不将整数转为字符串来解决这个问题吗?
思路1:
先将整型转换成字符串,对字符串的的两端的字符进行取数对比;
若出现不两端对称的字符不相同则返回False;
若比较完,则说明均相同,返回Ture。
参考代码1:
class
Solution
:
def
isPalindrome
(self, x)
:
"""
:type x: int
:rtype: bool
"""
s =str(x)
n =len(s)
if
n==
0
:
return
True
for
i
in
range(n//
2
):
if
s[i]!=s[n-i
-1
]:
return
False
return
True
提交结果:
对于此题,你有没有更好的解决思路?
欢迎留言!
(如需获得源代码,
往期精彩: http://huishou68.com/
Python版LeetCode1.两数之和
Python版LeetCode3.无重复字符的最长子串
Python版LeetCode4.两个排序数组的中位数
Python版LeetCode5. 最长回文子串
Python版LeetCode7. 反转整数
Python版LeetCode8. 字符串转整数 (atoi)