LeetCode 学习

1、整数反转

  题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

  思路:把最后的一位提取出来,放到新的容器前面,反复进行上面的操作,同时也要判断是否会导致溢出

 1 class Solution {
 2 public:
 3     int reverse(int x)
 4     {
 5         int rev = 0;
 6         while (x != 0)
 7         {
 8             int pop = x % 10;    //提取最后一位
 9             x /= 10;        //去掉最后一位
10             if (rev > INT_MAX / 10 && (rev = INT_MAX / 10 && pop > 7)) return 0;
11             if (rev < INT_MIN / 10 && (rev = INT_MIN / 10 && pop < -8)) return 0;
12             rev = rev * 10 + pop;
13         }
14         return rev;
15     }
16 };

猜你喜欢

转载自www.cnblogs.com/jxfighting/p/10105192.html