aiheshan

有多自律,才能有多自由

导航

leetcode 7. Reverse Integer

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

题目:反转数字。

例如:

输入 -321

输出 -123

思路:题目比较简单,主要是主要32位数字溢出的情况。当反正后数字溢出则输出0.

这里用long型记录反转后的数字,然后强制转换为int型,如果转换后不相等则说明数字溢出了。

 1 class Solution {
 2 public:
 3     int reverse(int x) {
 4         int flag=0;
 5         if(x<0){
 6            flag=1;
 7            x=-x;
 8         }
 9         long sum=0;
10         int k=0;
11         while(x){
12             k=x%10;
13             sum=sum*10+k;
14             x=x/10;
15         }
16         int result=sum;
17         if(result!=sum)
18            return 0;
19         if(flag){
20             result=-result;
21         }
22         return result;
23     }
24 };

在leetcode上运行时长10ms

posted on 2016-08-13 21:05  aiheshan  阅读(181)  评论(0编辑  收藏  举报