反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2**31, 2**31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ num = abs(x) #取绝对值 new_num = 0 #反转后的数字,初始值为0 while num > 0: one_num = num % 10 #取数字的最后一位 new_num *= 10 #每取到一位就让new_num*10 new_num = new_num + one_num #num+取到的数字 num //= 10 #每取一位数字后,num就少一位
#最后得到的new_num就是num的反转了 if x < 0: new_num = new_num * -1 if -2 ** 31 <= new_num: return new_num else: return 0 else: if new_num <= 2 ** 31 - 1: return new_num else: return 0
num为原始数字的绝对值
new_num为反转后的数字,初始值为0
one_num为num模10后得到的最后一位
浙公网安备 33010602011771号