7. 整数反转
难度:简单
语言:java
题目内容
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
解题思路
数学方法解决问题,每次对10取余然后再利用整数的特性再除10,就可以依次取出每一位,可以拓展一下,经常有对字符串或者整数中的每位数字进行操作的题目,通常方法也是先考虑这种数学方法,还有一种,可以使用栈来进行调换顺序,先压栈再出栈。
class Solution {
public int reverse(int x) {
int ans = 0;
while(x != 0 ){
if (ans < Integer.MIN_VALUE/10 || ans>Integer.MAX_VALUE/10){
return 0;
}
int digit = x %10;
x /= 10;
ans = ans*10+digit;
}
return ans;
}
}