题目:整数反转

通过对输入数字模10得到最低位的数字,然后将输入数字除10,减少输入数字的一位位数,使用此数字进行下一轮循环,直到输入数字最终等于零

注意:在循环过程中,可能出现溢出的情况,因此需要在每一次循环开始前对已经反转的数字进行范围判断,如果已经溢出,则返回零

reverse()

 1int reverse(int x)
 2    {
 3        int rev = 0;
 4        while(x != 0)
 5        {
 6            if(rev < INT_MIN/10 || rev > INT_MAX/10) return 0;
 7            int d = x % 10;
 8            x /= 10;
 9            rev = rev * 10 + d;
10        }
11        return rev;
12    }

来源:语雀原笔记