2种不同的方式来反转整数-首选方式?

时间:2018-09-14 19:05:02

标签: python

我正在磨一些LeetCode的东西,问题之一是反转整数(例如123变成321)。

我想到了两种方法。第一个是纯粹的“数字”,使用10的幂和模块化算术:

def reverse_digits1(num):
    reversed_num = 0

    while num > 0:
        reversed_num *= 10
        reversed_num += num % 10
        num = num // 10

    return reversed_num

第二种方法是使用内置的str()int()方法。

def reverse_digits2(num):
    num = str(num)

    return int(num[::-1])

您基本上将其转换为字符串,将其反转,然后将反转的字符串作为整数返回。

在这2个之间,哪个是“更好”的方法?我猜这是第一个,它不涉及将数字突变为字符串,反之亦然,并且没有潜在的信息损失吗?甚至会丢失信息吗?输入都是整数,因此不需要担心浮点数,对吗?

通常,通过str()int()处理数字是个好主意,还是应该坚持使用“数值方法”?

0 个答案:

没有答案