回文数

本文介绍两种判断整数是否为回文数的方法。一种是将整数转换为字符串进行比较;另一种是通过数学运算逆序整数后直接对比。文中提供了Python实现代码,并比较了两者的运行效率。

题目:

 

分析:

方法二:直接把一个整数 -->  翻转为另一个整数over,利用整除与去模,快速简单?

方法一:通过把int转为了str,再操作,可以不用这样玩,ide显示自己写的方法快点,但提交的LeetCode显示方法二慢,谁告诉我下啊。。?

答案:

代码:

import copy


import time

def palindrome_num(num):

    # 正数
    # if num >0:
    src = str(num)
    src_list = [i for i in src]
    temp = copy.deepcopy(src_list)
    temp.reverse()
    a = 1
    for i in range(len(src_list)):
        if src_list[i] == temp[i]:
            continue
        else:
            return False

    return True



def isPalindrome(x) -> bool:

    num = 0
    a = abs(x)

    while (a != 0):
        temp = a % 10
        num = num * 10 + temp
        a = a // 10

    if x >= 0 and x == num:
        return True
    else:
        return False

start = time.time()
aa = palindrome_num(1222)
end = time.time()
print('第一个程序运行时间:', str(end - start))
print('结果:', aa)




start2 = time.time()
bb = isPalindrome(1222)
end2 = time.time()
print('第二个程序运行时间:', str(end2 - start2))
print('结果:', bb)

第一个程序运行时间: 3.0994415283203125e-05
结果: False
第二个程序运行时间: 6.198883056640625e-06
结果: False

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值