7. 整数反转

本文深入探讨了两种实现整数反转的方法:数值法和字符串法。数值法通过数学运算逐位取出并重组数字,而字符串法则将整数转换为字符串进行反转。文章详细讲解了每种方法的步骤,并附带Python代码示例,最后判断反转后的结果是否超出32位整数范围。

在这里插入图片描述
有些读者反映我写的内容太简单,有时候看不懂思路,我以后会记得写好思路。
一、数值法
1.取出符号位
2.%10一次取出x的每一位,再*10变为ans
3.判断是否超出

	    output = 0
        if x >= 0:
            flag=1
        else:
            flag=-1
        x = abs(x)
        while x != 0:
            res = x % 10
            x = int(x/10)
            output = output * 10 + res
        if -2**31 < flag * output < 2**31-1:
            return flag * output
        else:
            return 0

二、字符串法
1.强制转换字符串
2.切片反转
3.判断符号

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        x = str(x)
        x=x[::-1]
        if (x[-1] == "-" and abs(int(x[:-1]) <= 2147483647)): 
        	return int(x[:-1])*-1
        if (x[-1]!="-" and int(x[:]) <= 2147483647):
        	return int(x[:])
        return 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值