给定一个范围为 32 位 int 的整数,将其颠倒。
例 1:
输入: 123 输出: 321
例 2:
输入: -123 输出: -321
例 3:
输入: 120 输出: 21
解题思路:
先要判断该数字是否大于0,通过一个变量来保存该数字的符号位,然后提取该数字的最后一位,变成ans的第一位,直到遍历此数字的所有位。
解题代码:
sign = x<0 and -1 or 1
ans=0
x=abs(x)
while x:
ans=ans*10+x%10
x=x/10
return sign*ans if ans<=0x7fffffff else 0
注意:最后判断的是答案是否为32位而不是原数字