leetcode-7

  • Post author:
  • Post category:其他



https://leetcode-cn.com/problems/reverse-integer/

思路:最大、最小值提前预判,执行过程中不能存储大于或小于的值。

int reverse(int x) {


int sign = 0;

//解决输入异常数据

if (x <= INT_MIN || x >= INT_MAX) {


return 0;

}

if (x < 0) {


sign = 1;

x = -1 * x;

}

int res = 0;

while(x) {

//res乘上一个数是否产出范围

if (res > (INT_MAX – x % 10) / 10) {


return 0;

}

res = res * 10 + (x % 10);

x = x / 10;

}

if (sign == 1) {


return res * -1;

}

return res;

}



版权声明:本文为shushi6969原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。