原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xnhbqj/
解法一:
public int reverse(int x) {
long result = 0;
while (x != 0) {
result = 10 * result + x%10;
x = x/10;
}
if (result > Integer.MAX_VALUE) {
return 0;
}
if (result < Integer.MIN_VALUE) {
return 0;
}
return (int)result;
}
思路:将每一位的数字单独抽取出来然后在进行运行相加:
这里有一个问题,题目规定的范围是int类型( -2^31——2^31-1,即-2147483648——2147483647),可能会出现溢出的情况,题目中规定溢出返回0,这里使用long,当数据溢出时,校验返回0即可