# 7.整数反转
class Solution:
def reverse(self, x: int) -> int:
# reverse(self, x: int) -> int:的意思是传入的参数建议是int型,->int表示返回的值是int型。
y, res=abs(x), 0 #将y=数值的绝对值,res赋值为0
boundry = (1<<31)-1 if y>0 else 1>>31
#采用了位移符将二进制数的1进行迁移31位实现2的31次方,不要忘记括号
while y!=0:
res = res*10+y%10 # 将绝对值的数字进行反序
if res>boundry: # 检测数据的长度是否超出范围,若超出返回0
return 0
y//=10 #将数据的最后一位去掉
return res if x>0 else -res # 考虑到正负号的问题
# 无注释代码:
class Solution:
def reverse(self, x: int) -> int:
y, res=abs(x), 0
boundry = (1<<31)-1 if y>0 else 1>>31
while y!=0:
res = res*10+y%10
if res>boundry:
return 0
y//=10
return res if x>0 else -res