lintcode练习-37.反转一个3位整数

描述:
反转一个只有3位数的整数。


你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。

样例

123 反转之后是 321
900 反转之后是 9


注意这个题需要考虑到负数的出现,所以要特别处理一下。
第一种方法:

class Solution:
    """
    @param number: A 3-digit number.
    @return: Reversed number.
    """
    def reverseInteger(self, number):
        # write your code here
        if number < 0:
            number = number * -1
            num_list = list(str(number))
            result = 0
            for i in range(3):
                result += int(num_list[i])*(10**i)
            return (result*-1)
        else:
            num_list = list(str(number))
            result = 0
            for i in range(3):
                result += int(num_list[i]) * (10 ** i)
            return (result)

我在提交是 出现过运行时间339ms,不过之后发现没有那么低 不知道什么原因
第二种方法:

class Solution:
    """
    @param number: A 3-digit number.
    @return: Reversed number.
    """
    def reverseInteger(self, number):
        # write your code here
        if number < 0:
            number = number * -1
            return int(str(number)[::-1])*-1
        else:
            return int(str(number)[::-1])

这种方法代码非常少,运行时间为504ms 中规中矩

猜你喜欢

转载自blog.csdn.net/qq_36387683/article/details/80350889
今日推荐