【leetcode-7】Reverse Integer(C语言)

原创 2015年07月11日 08:43:10

问题描述:
Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

这道题比较讨厌的地方在于如何判断溢出,好吧,我的方法比较low,因为我只会比较+法的溢出,,但是效果还不错,运行时间是4ms

int reverse(int x) {
     bool negative = false;
     if(x<0){
        negative = true;
        x = -x;
     }
     int nums = 0;
     int tmpNum;
     int tmp;
     int i;
     while(x){
         tmpNum = nums;
         tmp = 0;
         for(i = 0;i<10;i++){
            tmp = tmp+tmpNum;
            if(tmp<tmpNum)
                return 0;
         }
         nums = tmp;
         nums=nums+x%10;
         x = x/10;
     }
     if(negative)
        return -1*nums;
     return nums;
}

看了博客之后发现这种判断溢出的方法很不错。改之,但是时间居然会达到8ms。

int reverse(int x) {
     bool negative = false;
     if(x<0){
        negative = true;
        x = -x;
     }
     int nums = 0;
     int tmpNum;
     int tmp;
     int i;
     while(x){
         if(nums>(INT_MAX-x%10)/10)//成立,则一定会超
             return 0;
         nums=nums*10+x%10;
         x = x/10;
     }
     if(negative)
        return -nums;
     return nums;
}
版权声明: 举报

相关文章推荐

LeetCode::Zigzag Conversion C语言

题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this...

LeetCode中Palindrome Number的C语言代码

LeetCode中Palindrome Number的C语言代码

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

【leetcode-7】Reverse Integer(C语言)

转自http://blog.csdn.net/zdavb/article/details/46839165问题描述: Reverse digits of an integer.Example1: x...

LeetCode::Reverse Integer C语言

题目 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 ...

7. Reverse Integer 反转int

7. Reverse Integer问题:反转int,当有负号时需要保留负号。解决思路:1、先将int类型转换为string,按照之前写过的string类型做好反转,再转为int类型。2、不做类型转换...

suricata 3.1 源码分析8

CSetStartTime(&suri); 设置记录开始时间 SCDropMainThreadCaps(suri.userid, suri.groupid); 去除主线程的权限。这个是通过lib...

suricata 3.1 源码分析6

if (suri.run_mode != RUNMODE_UNIX_SOCKET) { FlowInitConfig(FLOW_VERBOSE); 初始化Flow engine...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)