python反转一个三位整数的多种方法

反转一个三位整数的多种方法


在LintCode上练习遇到这个问题,查阅资料找到多种方法,总结如下。

输入 输出
123 321

第一种:整数方法取余取整实现

class Solution:
    """
    @param number: A 3-digit number.
    @return: Reversed number.
    """
    def reverseInteger(self, number):
        g = number%10         #取出个位数
        s = (int(number/10))%10   #取出十位数   
        b = int(number/100)         #取出百位数
        return g*100+s*10+b
if __name__ == "__main__":
    so = Solution()
    print (so.reverseInteger(123))

python不和C语言一样自动截取保留整数,需要用 int 转换一下

第二种:使用字符串切片

    def reverseInteger(self, number):
        number=str(number)
        result=number[::-1]
        result=(int(result))
        return result

借用字符串的方法处理

第三种:使用栈

def reverseInteger(self, number):
	number=str(number)#模拟入栈
        l=list(number)
        result=""
        while len(l)>0:
            result+=l.pop()#模拟出栈
        return int(result)

你可能感兴趣的:(python反转一个三位整数的多种方法)