题目
理解 将一个整数反转过来即可,若反转过来的数不在int范围内,则返回0
题解1
将整数x的每一位取出再进行累乘操作即可得到反转后的整数x
注意需要将ans 定义 成long型,否则在累乘过程中,ans 可能会超出int范围,出现溢出后的数值
class Solution {
public int reverse(int x) {
long ans = 0;
while(x != 0){
ans = ans * 10 + x % 10; //重点就是这步操作
if(!(ans >= Integer.MIN_VALUE && ans <= Integer.MAX_VALUE)) return 0;
x /= 10;
System.out.println(ans);
}
return (int)ans; //因为方法定义的返回值为int,所以将ans强转成int型
}
}
时间复杂度
:O(n) n为整数x的位数
空间复杂度
:O(1)