题目:整数反转
通过对输入数字模10得到最低位的数字,然后将输入数字除10,减少输入数字的一位位数,使用此数字进行下一轮循环,直到输入数字最终等于零
注意:在循环过程中,可能出现溢出的情况,因此需要在每一次循环开始前对已经反转的数字进行范围判断,如果已经溢出,则返回零
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 }
来源:语雀原笔记