Leetcode 7. Reverse Integer(水)

7. Reverse Integer
Easy

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231,  231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

 1 class Solution {
 2 public:
 3     int reverse(int x) {
 4         int fl = 0;
 5         if(x >= pow(2,31) || x <= -pow(2,31)) return 0;
 6         if(x<=0){
 7             fl = 1;
 8             x = -x;
 9         }
10         long long ans = 0;
11         while(x>0){
12             ans = ans * 10 + (x%10);
13             if(ans >= pow(2,31)) return 0;
14             x = x/10;
15         }
16         if(fl==1) ans = -ans;
17         return ans;
18     }
19 };

猜你喜欢

转载自www.cnblogs.com/shanyr/p/11421227.html