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

简介: 公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

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


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


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

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


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


1、取余取整方式

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、使用栈的方式

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、使用切片的方式

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、整数转字符串,反转字符串,然后再转整数

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种方式,大家还有其它的方式吗?上面代码都已经经过我亲自测试,可以直接使用!


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

相关文章
|
6天前
|
Python
Python面向对象基础与魔法方法详解
Python面向对象基础与魔法方法详解
|
10天前
|
Python
python中使用update()方法
【6月更文挑战第16天】
19 7
|
6天前
|
监控 安全 虚拟化
深入浅出Python沙箱越狱:原理、方法与防范
今天我们来聊一个有趣的话题 - Python沙箱越狱。在我们开始之前,先来搞清楚什么是Python沙箱吧。 简单来,Python沙箱就像是一个虚拟的"游乐场"。在这个游乐场里,你可以尽情地玩耍(运行Python代码),但是不能伤害到外面的世界(不能访问系统资源或执行危险操作)。这个"游乐场"有围栏(限制),有规则(安全策略),目的就是让你玩得开心,又不会搞出什么大乱子。
|
7天前
|
Python
python之字符串定义、切片、连接、重复、遍历、字符串方法
python之字符串定义、切片、连接、重复、遍历、字符串方法
8 0
python之字符串定义、切片、连接、重复、遍历、字符串方法
|
13天前
|
Python
Python语言提供了多种输出格式化的方法,这些方法随着时间的推移和版本的更新而发展
【6月更文挑战第19天】Python格式化方法包括过时的`%`操作符,`str.format()`,推荐的f-string(Python 3.6+)和Template strings。f-string提供最佳的可读性和性能,`str.format()`是通用的,而`%`不推荐使用。模板字符串用于特定场景。对于旧版Python,使用`str.format()`或`%`。
22 4
|
13天前
|
Python
Python三种标准输出重定向方法
Python 提供了标准库中的 sys.stdout 对象来代表标准输出。如果我们想将输出重定向到其他位置,例如内存、文件或自定义类,我们可以通过一些技巧来实现。
16 2
|
13天前
|
存储 缓存 调度
Python教程:一文了解10种数据结构在Python中的实现方法
数据结构是计算机科学中非常重要的概念,它用于组织和存储数据,使得数据可以高效地被访问和操作。在编程中,选择合适的数据结构对于解决问题和提高程序性能至关重要。
24 1
|
13天前
|
Python
在Python中,`range()`函数生成一个整数序列,用于循环迭代。
【6月更文挑战第19天】`Python`的`range()`函数生成整数序列,用于迭代。它接受`start`(默认0)、`stop`(不包含,右开)和`step`(默认1)参数。在`for`循环中,`range(5)`会输出0到4。若要包含结束值,需将`stop`设为`end+1`,如`range(1, 6)`将输出1到5。
29 1
|
4天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:策略梯度方法
使用Python实现深度学习模型:策略梯度方法
4 0
|
5天前
|
关系型数据库 MySQL 数据库
Python中使用MySQL模糊查询的方法
(1)同样需要将your_username、your_password、your_database替换为我们的MySQL数据库的实际用户名、密码和数据库名。 (2)在mysql.connector.connect()中,我们没有直接指定字符集和游标类型,因为mysql-connector-python的默认配置通常已经足够好。但是,如果需要,我们可以添加这些配置选项。 (3)使用cursor.close()和cnx.close()来确保游标和连接都被正确关闭。 (4)mysql-connector-python也支持使用上下文管理器(即with语句)来自动管理游标和连接的关闭,但这需要创建一个

相关实验场景

更多