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