python实现不使用额外的空间判断输入数字是否是回文数

    题目很简单,前面也有几篇文章专门是针对的回文数这里要注意的是不能使用额外的内存空间来解决问题,下面是具体的实现:


#!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]


你可能感兴趣的:(面试工作,编程技术,python实践)