您的位置:首页 > 编程语言 > Python开发

不使用额外空间判断整形数字是否回文

2017-05-19 17:18 281 查看
先来个使用额外空间的简单版本,其实就是将数组转换为字符串后使用判断回文字符串的方式就行

def isPalindrome(self, x):
if x<0:
return False
x = str(x)
odd = len(x)%2
i,j = 0,0
if odd:
i = len(x)/2
j = len(x)/2
else:
i = len(x)/2
j = i-1
while i>=0 and j<len(x):
if x[i]!=x[j]:
return False
i -= 1
j += 1
return True
再来个不使用额外空间的版本

def isPalindrome(self, x):
if x<0 or (x!=0 and x%10==0):
return False
rev = 0
while rev<x:
rev = rev*10 + x%10
x = x/10
return x==rev or x==rev/10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python
相关文章推荐