leetcode逆序整数的输出

博客探讨了LeetCode中的Reverse Integer问题,提供两种Python实现方法。第一种方法通过判断和处理不同情况来逆序整数,代码较冗长。第二种方法更简洁,通过保存正负号并取绝对值逆序,再结合正负号得到结果。同时,文章还介绍了字符串操作的相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reverse Integer:逆序整数
给定一个整数,输出他的逆序。
例如:输入123,输出321
输入-123,输出-321
输入120,输出21
考虑:当逆序输出的整数超出int范围时,返回0
我写的第一种方法判断很多,x>0的情况,然后余数等于0的情况,不等于0
X<0的情况,然后余数等于0的情况,不等于0
写的代码有很多重复代码,给人一种乱乱的感觉,不过可以解决就好了
代码如下:
class Solution(object):
def reverse(self, x):
“”"
:type x: int
:rtype: int
“”"
y=0
a = int(x)%10
b = int(x)/10
if int(x) > 0:
if a != 0:
x = str(x)
y = int(x[::-1])
else:
b = str(b)
y = int(b[::-1])
elif int(x)<0:
if a == 0:
b = str(b)
b = b[1:]
# b = b[1:len(b)-2:]
y = -int(b[::-1])
else:
x = str(x)
x = x[1:]
y = -int(x[::-1])
if y > 231-1 or y < -231:
y = 0
return y
还有简便办法,用一个数值来保存x的正负号,对x取绝对值逆序输出,加上之前保存的正负号,代码就很少了。
class Solution(object):
def reverse(self, x):
“”"
:type x: int
:rtype: int
“”"
sign = (x > 0) - (x < 0)

    ans = sign * int(str(abs(x))[::-1])
    
    if ans < 2**31 - 1 and ans > -2**31: 
        
        return ans 
    else:
        
        return 0

在这,我想总结一下关于字符串的切割问题:
a = “Hello”
b = “Python”
print “a + b 输出结果:”, a + b
print “a * 2 输出结果:”, a * 2
print “a[1] 输出结果:”, a[1]
print “a[1:4] 输出结果:”, a[1:4]
输出结果:
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
其中,a:::,目标索引不包含最后一位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值