其他分享
首页 > 其他分享> > 20.07.15 LeetCode7. 整数反转

20.07.15 LeetCode7. 整数反转

作者:互联网

 1 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
 2 
 3 示例 1:
 4 
 5 输入: 123
 6 输出: 321
 7  示例 2:
 8 
 9 输入: -123
10 输出: -321
11 示例 3:
12 
13 输入: 120
14 输出: 21
15 注意:
16 
17 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
18 
19 来源:力扣(LeetCode)
20 链接:https://leetcode-cn.com/problems/reverse-integer

题解:

 1 class Solution {
 2 public:
 3     int reverse(int x) {
 4         if(x/10==0)
 5             return x;
 6         int y = 0;
 7         while(x)
 8         {
 9             if(y> INT_MAX/10 || y < INT_MIN/10) //判断溢出
         //因为下面有y*10的操作,如果是y<max则要在运算后判断,但判断溢出一般都是写在头部,故以此写法。 10   return 0; 11 y = y*10; 12 y=y+x%10; 13 x = x/10; 14 } 15 return y; 16 } 17 };

 

标签:LeetCode7,15,示例,int,反转,整数,231,20.07,10
来源: https://www.cnblogs.com/pionice/p/13332557.html