LeetCode刷题-7—— Reverse Integer(反转整数)

链接:

https://leetcode.com/problems/reverse-integer/description/

题目:

Given a 32-bit signed integer, reverse digits of an integer.

Example:

Example 1:

Input: 123
Output: 321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Notes:

Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

解析:

  1. 将整数符号记录下
  2. 由于整数无法直接进行操作,所以转化成字符串反转

解答:

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """

        #s = cmp(x,0)
        s = (x>0) - (x<0)
        r = int(str(s*x)[::-1])
        if r > 2**31:
            return 0
        return s*r

猜你喜欢

转载自blog.csdn.net/u014135752/article/details/80671766