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

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储 32 位有符号整数,其数值范围是 [�6�1231,  231 �6�1 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

解决思路:

  1.  先把整数转换成字符串

  2.  如果是负数,那么不取第0位,进行数字反转,然后变成整数,进行拼接

  3. 判断结果是否在�6�1231,  231 �6�1 1范围类

代码1

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        new_x = str(x)
        if new_x.startswith('-'):
            res = -+int(str(x)[:0:-1])
        else:
            res = int(str(x)[::-1])
        if -2**31 < res < 2**31-1:
            return res
        return 0


本文地址: http://chenxm.cc/article/69.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: Python 工匠:善用变量来改善代码质量
下一篇: python leetcode 14. 最长公共前缀
发表评论
  1. 在线学习
    在线学习  @回复

    666 学习了