LeetCode 7. Reverse Integer 题解 LeetCode 7. Reverse Integer 题解题目描述给你一个 32 位的有符号整数x返回将x中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−2^31, 2^31 − 1]就返回 0。示例 1输入x 123 输出321示例 2输入x -123 输出-321示例 3输入x 120 输出21解题思路数学方法取出数字的最后一位拼接到结果的前面注意处理负数检查溢出代码实现def reverse(x): INT_MAX 2**31 - 1 INT_MIN -2**31 result 0 sign 1 if x 0 else -1 x abs(x) while x ! 0: digit x % 10 x // 10 # 检查溢出 if result (INT_MAX - digit) // 10: return 0 result result * 10 digit return sign * result复杂度分析时间复杂度O(log x)其中 x 是输入的整数空间复杂度O(1)测试案例# 测试案例 1 assert reverse(123) 321 # 测试案例 2 assert reverse(-123) -321 # 测试案例 3 assert reverse(120) 21 # 测试案例 4 assert reverse(0) 0 # 测试案例 5溢出 assert reverse(1534236469) 0总结本题是整数处理的经典问题。关键点数学方法反转数字处理负数溢出检查通过本题可以深入理解整数处理和边界条件。