LeetCode7 反转整数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40155090/article/details/83622701

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

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

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

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        str1 = ""
        num = str(x)
        rev = []

        for i in num:
            rev.append(i)

        ###原地反转###
        rev.reverse() 
        if rev[-1]=="-":
            rev.insert(0,"-")
            rev.pop()
        for i in rev:
            str1 += i
        a= int(str1)
        if a>=-2**31 and a<=2**31 - 1:
            return a
        else:
            return 0
class Solution:
    def reverse(self, x):
        reverse_num=int(str(abs(x))[::-1])
        if reverse_num.bit_length() > 31:
            return 0
        else:
            return reverse_num if x > 0 else -reverse_num
class Solution:   
    def reverse(self, x):       
        """        
        :type x: int        
        :rtype: int       
        """       
        b = pow(2, 31)        
        if x < 0:            
            x = abs(x)            
            ans = -int(str(x)[::-1])       
        else:            
            ans = int(str(x)[::-1])        
        if ans >= (-b) and ans <= b-1:            
            return ans        
        else:            
            return 0

猜你喜欢

转载自blog.csdn.net/qq_40155090/article/details/83622701
今日推荐