云中寻雾的博客

如果能力不够,就用努力来凑

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 中规中矩
阅读更多
个人分类: lintcode
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭