题目分析:对于输入的数据 x 我们需要进行反转操作,因此需要建立一个 while 循环,循环条件为 x 不为0,同时我们需要定义一个全局变量 j 作为最后的输出结果。在循环体中,我们首先对 x 进行取余操作,即得到其最后一位数作为新数字的最高位,之后又对 x 进行除法操作,得到除最后一位外的其他位数,之后再一直循环下去,便得到最终结果。同时在开头我们需要设置一个flag变量判断 x 的正负情况。在得出结果后需要对其进行判断是否越界,不越界正常输出,越界输出0。
代码展示:
class Solution {
public int reverse(int x) {
int flag=1;//标志正负
int j=0;//结果输出
if(x<=0) {flag=0;x=-x;}
while(x!=0){
j=j*10+x%10;
x=x/10;
}
if(flag==0){j=-j;}
if(j>=-Math.pow(2,31)&&j<=Math.pow(2,31)-1) {return j;}
else {return 0;}
}
}