【LeetCode 简单题】2-用Python做反转整数

本文介绍了在LeetCode中第2道关于反转整数的简单问题,提供了四种Python解决方案,包括字符串处理和数学运算的方法。解法涵盖正负数的处理,并包含边界值检查。
摘要由CSDN通过智能技术生成

声明

今天做了第2个简单题,这是狗生完整刷完的第2道LeetCode题,虽然借鉴了别人的思路,没有完整自己做出来,但是,啊!在此记录一下~

题目

给定一个 32 位有符号整数,将整数中的数字进行反转。

eg1.输入-输出:123 -> 321

eg2.输入-输出:-123 -> -321

eg3.输入-输出:120 -> 21

正文

主要思路是2种。第一种是拆解成字符串处理,第二种是将整数不断除10向下取整得到余数,再乘以10达到逆转整数的目的。以下解法1、2属于第一种,解法3、4属于第二种,文末附上了参考的其他博客链接,侵删哦。

 

解法1。先取绝对值再强制转换成string,再把string[::-1]逆序输出后强制转换为int得到结果,在根据该整数正负决定返回结果前要不要加负号。

# V 1.0 执行成功
class Solution:
    def reverse(self, x):
        x_string = str(abs(x))
        if x < 2**31:
            rev_x = int(x_string[::-1])
            if x > 0:
                return rev_x
            else:
                return -rev_x

解法2。根据整数正负分开处理,正数直接逆序输出后转换,负数取负号之后的数字逆序输出后转换并在结果上加负号,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值