学习时间:
2023年1月27日
题目描述:
题解分享:
# 作者: 繁华倾夏
# 2023年01月25日
# 力扣(LeetCode):7. 整数反转
class Solution:
# def reverse(self, x: int) -> int: # 力扣测试时调用
def reverse(x): # pycharm测试时调用
if x == 0: # 判断是否为0,为0时可以直接返回
return 0
elif x < 0: # 小于0时,使用u记录符号
u = -1
x = x * u # 并使x为正,方便接下来的运算
else:
u = 1 # 大于0时,赋u为1
s = 0
t = 0
while x: # 遍历x
s = x % 10 # 取到各位数值
t = t * 10 + s # 反向相乘
x //= 10 # python中需要 // 整除
t *= u # 判断符号
if t > 2 ** 31 - 1 or t < -2 ** 31: # 判断是否越界
return 0 # 越界为0
else:
return t # 不越界则正常输出
# 测试用例-python编程时需严格注意缩进,否则程序不能正常运行
# 输入 x = 123
# 输出 321
if __name__ == '__main__':
x=123
re=reverse(x)
print(re)