【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::Reverse Integer C语言

题目 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 ...
  • u013300875
  • u013300875
  • 2015年03月07日 21:00
  • 1165

LeetCode 7 Reverse Integer(C,C++,Java,Python)

Problem: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, re...
  • runningtortoises
  • runningtortoises
  • 2015年05月07日 09:23
  • 1021

Leetcode 7 Reverse Integer 反转数字

题目: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return ...
  • vvaaiinn
  • vvaaiinn
  • 2015年04月20日 10:28
  • 4659

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

问题描述: Reverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321这道...
  • zdavb
  • zdavb
  • 2015年07月11日 08:43
  • 826

leetcode 7. Reverse Integer(C语言,翻转一个整数,判断是否溢出)19

leetcode 7. Reverse Integer(C语言,反向一个整数,判断溢出)19C语言解析及代码,另附判断溢出总结...
  • m0_37454852
  • m0_37454852
  • 2017年10月01日 21:04
  • 101

[leetcode 7] Reverse Integer(整数反转) c函数实现

[leetcode 7] Description: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x =...
  • banana1006034246
  • banana1006034246
  • 2017年03月22日 18:58
  • 638

[LeetCode] Reverse Integer 翻转整数

给定一个范围为 32 位 int 的整数,将其颠倒。 例 1: 输入: 123 输出: 321 例 2: 输入: -123 输出: -321 例 3: 输入: 120 输出:...
  • u014627807
  • u014627807
  • 2018年02月19日 19:45
  • 4

LeetCode-7:Reverse Integer

7.Reverse Integer
  • sinat_22797429
  • sinat_22797429
  • 2017年07月13日 07:58
  • 48

leetcode-7:Reverse Integer

leetcode 7. Reverse Integer 很简单的题目,思路: 1.初始化对应变量和常量; 2.对10求余得到当前的低位,低位加到10倍的结果变量上去,不断循环该步骤,知道溢出或者...
  • barebear007
  • barebear007
  • 2017年10月27日 17:07
  • 28

LeetCode-7:Reverse Integer

第七题:  reverse integer 题目概述: **English:**Reverse digits of an integer. 中文意思:将一个整型变量倒置,如将123...
  • Chunfengyanyulove
  • Chunfengyanyulove
  • 2016年11月10日 15:04
  • 102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【leetcode-7】Reverse Integer(C语言)
举报原因:
原因补充:

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