题目很简单,前面也有几篇文章专门是针对的回文数这里要注意的是不能使用额外的内存空间来解决问题,下面是具体的实现:
#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能:不使用额外的空间判断输入的数字是否为回文数,负数去除符号来判断
'''
def judege_num_ispalindrome(one_num):
'''
判断回文数
'''
if one_num<0:
one_num*=-1
length=len(str(one_num))
j=length-1
i=0
while i<=j and j>0:
if str(one_num)[i]==str(one_num)[j]:
i+=1
j-=1
else:
return False
break
return True
if __name__ == '__main__':
one_num_list=[1234321,1908,-34543,-9]
for one_num in one_num_list:
print one_num, judege_num_ispalindrome(one_num)
下面是具体实现:
1234321 True
1908 False
-34543 True
-9 True
[Finished in 0.4s]