Python版LeetCode9. 回文数

题目:

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

示例 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)

猜你喜欢

转载自www.cnblogs.com/eryaketang/p/9104259.html