LeetCode python-7.整数翻转

LeetCode python-7.整数翻转

先看题目:
(题目来力扣网站)
在这里插入图片描述
思路:
将字符串转换为列表,翻转列表后,先判断第一项是否为0,为零则删除res最后一个数字,不为零则不执行删除操作。将列表转化为字符串,用“ ”操作可将列表中的数连接为字符串,判断最后一项是不是负号,是负号,则在ans前添加负号,不是负号,则在ans后面加上res的最后一位。最后判断ans在不在32位范围之内。

在pycharm中运行的代码及结果:

class Solution:
    def reverse(self, x):
        res = list(str(x))# 转为列表
        res.reverse()

        if res[0]==0:  # 判断 第一项是否为0
            res.popleft()

        ans = ''.join(res[:-1]) # 转为str

        if res[-1] == '-': # 判断最后一项
            ans = '-'+ans
        else:
            ans += res[-1]

        ans = int(ans)# 转为 int
        if  -2**31 <=ans<= 2**31-1:
            return ans
        else:
            return 0
p = Solution()
print(p.reverse(123))
print(p.reverse(-123))
print(p.reverse(120))
print(p.reverse(-120))

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190929113529553.png

在LeetCode中运行的结果:
在这里插入图片描述

收获:


list.pop() 是列表的常用操作,移除并返回列表中指定索引对应元素。括号内不填时则默认对应列表的最后一个元素。

nums = [1,2,3,4,5]
result = nums.pop()
print (result,nums)

在这里插入图片描述
popleft请参考下面链接:python—pop与popleft


ans = ‘’.join(res[:-1])
''用于连接列表里的元素

list = ["It","is","a","dog","."]
ans = ''.join(list)#中间没有空格
print(ans)

在这里插入图片描述

list = ["It","is","a","dog","."]
ans = ' '.join(list)#中间有一个空格
print(ans)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值