3.[easy] Palindrome Number

来源:互联网 发布:vlc 看网络电视 编辑:程序博客网 时间:2024/06/04 19:57

Determine whether an integer is a palindrome. Do this without extra space.

判断是否是回文数

先不考虑使用额外空间的问题

最直观的就是转换成字符串首尾比对

1.字符串解法

def is_palindrome(num):    if num < 0:        return False    i = 0    num_list = list(str(num))    num_list_len = len(num_list)    while i < math.floor(num_list_len / 2):        print(num_list[i], num_list[num_list_len-1-i])        if num_list[i] != num_list[num_list_len-1-i]:            return False        i += 1    return True

2.另外一种数学上的解法

def is_palindrome_numerical(num):    num_temp = num    rev = 0    cnt = 1    while num != 0:   # 既然是回文数,那么除0外,最后一位不应是0,这里需要加个判读即可        if cnt == 1 and num % 10 == 0:            return False        rev = rev * 10 + num % 10        num = math.floor(num / 10)        cnt += 1    print(rev)    if rev == num_temp:        return True    else:        return False


原创粉丝点击