题意:将整数倒置,该题简单但是需要注意数据的范围,难得的好题。

如果出现1000000003或者-2000000003,倒置后的数超过int的范围,因此返回0,出现这种情况可以使用long long,也可以在在乘以10时进行判断。

注意:Leetcode是用linux环境的,所以他用的是g++4.78编译器,不是vc++编译器,为此在vc++编译器上我们用__int64,而g++编译器就是long long,这些是64位的int,很有用的东西,不做过相关的竞赛或者项目的人,大部分人都不知道C++有64位的int。

当然现在的编译器都支持C++11标准,就不要用__int64或long long,而是用int64,当然还有int128,Leetcode的编译器仅仅支持C++03标准,跟不上时代了,是不是更新下?当然这是题外话。。

然后给出两种解法:

long long的解法,很黄很暴力。。。

class Solution {
public:
int reverse(int x) {
long long ans = ;
int sign = ;
if(x < ){
sign = -;
x = -x;
}
for(; x; x/= ){
ans = ans * + (x % );
}
ans *= sign;
if(ans > (long long)) return ;
if(ans < (long long)-) return ;
return ans;
}
};

int + 乘之前判断的解法,设计相对精妙

class Solution {
public:
int reverse(int x) {
unsigned int MAX = <<;
int ans = ;
int sign = ;
if(x < ){
sign = -;
x = -x;
}
for(; x; x/= ){
if(ans > MAX / ) return ;//乘之前的判断,防止溢出
ans = ans * + (x % );
} return ans*sign;
}
};

Leetcode 7 Reverse Integer 数论的更多相关文章

  1. LeetCode 7 Reverse Integer(反转数字)

    题目来源:https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x = 123, ...

  2. leetcode:Reverse Integer 及Palindrome Number

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

  3. LeetCode 7 Reverse Integer & int

    Reverse Integer 想用余10直接算,没想到 -123%10 是 7, 原因 -123-(-123//10*10) r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同 ...

  4. Leetcode 7. Reverse Integer(水)

    7. Reverse Integer Easy Given a 32-bit signed integer, reverse digits of an integer. Example 1: Inpu ...

  5. leetcode:Reverse Integer(一个整数反序输出)

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

  6. [LeetCode][Python]Reverse Integer

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'https://oj.leetcode.com/problems/reverse ...

  7. 【LeetCode】Reverse Integer(整数反转)

    这道题是LeetCode里的第7道题. 题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 ...

  8. LeetCode 7. Reverse Integer (倒转数字)

    Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...

  9. [LeetCode] 7. Reverse Integer 翻转整数

    Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...

随机推荐

  1. color 和 mode

    ------siwuxie095 color 设置默认的控制台前景和背景的颜色 语法:COLOR [attr] attr  用于指定控制台输出的颜色属性,此属性由两个十六进制数字指定, 第一个为背景颜 ...

  2. golang使用interface来mock进行测试(来自dotGO2014)

    源自于dotGO 2014的视频,讲述如何使用 interface 来mock 进行测试.. 可以FQ的同学自己观看,这里把重要的一些代码给截图搬到国内了 https://www.youtube.co ...

  3. 第一章 第一个spring boot程序(转载)

    第一章 第一个spring boot程序 本编博客转发自:http://www.cnblogs.com/java-zhao/p/5324185.html   环境: jdk:1.8.0_73 mave ...

  4. php数组函数

    1.键值函数 array_values()返回数组元素值,组成一个新的索引数组 2.array_keys()返回数组所有键名,组成一个索引数组 3.in_array()检查数组中是否存在某个值 4.a ...

  5. HighChats报表使用C#mvc导出本地图片

    最近工作使用了HighCharts,要用到保存成图片功能,但是是内部使用,不允许连接外网,于是就学习了下highcharts生成本地图片. highcharts有一个exporting.js来负责导出 ...

  6. win10下vs2015配置Opencv3.1.0过程详解

    下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载.  点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...

  7. Linux内核实现中断和中断处理(一)

    Linux实现中断处理 内核是怎么知道应用程序要调用系统调用的呢?或者说应用程序怎么通知系统内核自己需要执行一个系统调用,这是通过软中断实现的,通过引发一个异常来促使系统切换到内核态去执行异常处理程序 ...

  8. Silverlight 4常用StringFormat格式总结

    原文地址:http://www.silverlightchina.net/html/tips/2011/0424/7149.html 在Silverlight项目中,经常会根据需求的不同,提供不同的字 ...

  9. MySQL设置字符集CHARACTER SET

    本文地址:http://www.cnblogs.com/yhLinux/p/4036506.html 在 my.cnf 配置文件中设置相关选项,改变为相应的character set. 设置数据库编码 ...

  10. Java中FileOutputStream和FileInputStream使用例子

    package a.ab; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.F ...