首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python反转三位整数有几种方法?

Python反转三位整数有几种方法?

作者头像
程序员小猿
发布2021-01-19 10:35:33
发布2021-01-19 10:35:33
9530
举报
文章被收录于专栏:程序IT圈程序IT圈
公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说Python反转三位整数有几种方法?

答:这是leetcode上的一道编程算法题,感觉还是蛮经典的,今天就拿出来给大家分享一下!给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!

下面分别来说说几种实现的方式:

1、取余取整方式

代码语言:javascript
复制
class Test:
    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__":
    ts = Test()
    print (ts.reverseInteger(123)) #输出结果:321

2、使用栈的方式

代码语言:javascript
复制
class Test:
    def reverseInteger(self, number):
        number = str(number) # 模拟入栈
        l = list(number)
        result = ""
        while len(l) > 0:
            result += l.pop() # 模拟出栈
        return int(result)
if __name__ == "__main__":
    ts = Test()
    print (ts.reverseInteger(123)) # 输出结果:321

3、使用切片的方式

代码语言:javascript
复制
class Test:
    def reverseInteger(self, number):
        number=str(number)
        result=number[::-1] #python中切片的特殊用法
        result=(int(result))
        return result
if __name__ == "__main__":
    ts = Test()
    print (ts.reverseInteger(123))

4、整数转字符串,反转字符串,然后再转整数

代码语言:javascript
复制
class Test:
    def reverseInteger(self, x):
        plus_minus = ""
        reverse_x = ""
        if x < 0:
            plus_minus = "-"
            x = -x
        for i in str(x):
            reverse_x = i + reverse_x
        reverse_x = plus_minus + reverse_x
        if int(reverse_x) > pow(2, 31) - 1 or int(reverse_x) < pow(-2, 31):
            return 0
        return int(reverse_x)

if __name__ == "__main__":
    ts = Test()
    print (ts.reverseInteger(123)) #输出结果:321

以上是我分享的4种方式,大家还有其它的方式吗?上面代码都已经经过我亲自测试,可以直接使用!

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档