整数反转问题


整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

提示:

  • -231 <= x <= 231 - 1

原题如上

我的解题思路

class Solution:
    def reverse(self, x: int) -> int:
        if x >= 0:
            x = str(x)
            list1 = list(x)
            list1 = list(reversed(list1))
            list1 = "".join(list1)
            x = int(list1)
        else:
            x = -x
            x = str(x)
            list1 = list(x)
            list1 = list(reversed(list1))
            list1 = "".join(list1)
            x = int(list1)
            x = -x
        if x>=(-2)**(31) and x<=2**(31)-1:
            return x
        else:
            return 0

这里边主要用到了两个关键函数

.join()函数,可以把一个列表的函数连接成一个字符串输出

其前方的

""就表示中间没有间隔

" "就表示每个元素之间加一个空格

同理"."就表示每个中间加一个.

reversed函数,可以把列表反向

必须在list函数内使用,否则出不来结果,其结果与list函数搭配后,可以输出一个反向的列表。

整体思路:

1:利用str函数把int类型的输入值转换为str类型

2:把str类型的变量利用list函数转为列表

3:利用reversed函数反向列表

4:利用join函数把列表整合为str输出

5:把str类型的数转为int类型的输出,结果就是反向的

PS:中间有一些比较简单的地方没有说,例如最后的判断啊和正负数的判断。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值