一.题目描述:
二.输出示例:
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
三.提示:
四.解题思路:
// 弹出 x 的末尾数字 digit
digit = x % 10
x /= 10
// 将数字 digit 推入 rev 末尾
rev = rev * 10 + digit
代码:
def reverse(x):
INT_MIN= -2 ** 31
INT_MAX = 2 ** 31-1
rev = 0
while x != 0:
if rev < INT_MIN // 10 + 1 or rev > INT_MAX // 10:
return 0
digit = x % 10
if x < 0 and digit > 0:
digit -= 10
x = (x - digit) // 10
rev = rev * 10 + digit
return rev
if __name__ == '__main__':
x=int(input().strip())
y=reverse(x)
print(y)
注: Python3 的取模运算在 x 为负数时也会返回 [0, 9) 以内的结果.
Python3 的整数除法在 x 为负数时会向下(更小的负数)取整