本文主要是介绍3.反转整数-leetcode 007(python),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 题目描述
给定一个 32 位有符号整数,将整数中的数字进行反转。
- 示例1
输入: 123
输出: 321
- 示例2
输入: -123
输出: -321
- 示例3
输入: 120
输出: 21
- 注意
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
- 解决方案
使用分片操作[ : : -1] 翻转列表或字符串
- 代码一
class Solution(object):def reverse(self, x):""":type x: int:rtype: int"""l = list(str(x))n = len(l)#寻找最靠后的不是0的数字for i in range(n-1,0,-1):if l[i] != '0':l = l[:i+1]break#如果是负数的话,反转之后要加上符号if l[0] == '-':l = l[:0:-1]l.insert(0,'-')else:l = l[::-1]x = int(''.join(l))#check the numberif x<2147483648 and x >-2147483648:return xelse:return 0
- 代码二
class Solution(object):def reverse(self, x):""":type x: int:rtype: int"""if x > 0:t_str = str(x)[::-1]t = int(t_str)else:t_str = str(-x)[::-1]t = -int(t_str)if t< 2147483648 and t >-2147483648:return telse:return 0
这篇关于3.反转整数-leetcode 007(python)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!