Given a 32-bit signed integer, reverse digits of an integer. 将32位整数反向输出。

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.

思路:

原来的数除以10取余数。得到的数乘以10加下一个数。

pop=x%10;

x=x/10;

rev=rev*10+pop; //在这个过程中可能会产生overflow. 所以在每一次执行这条语句之前判断是否会产生overflow。

产生overflow的条件是:

1. 原来的 rev *10>231 − 1, 或 rev *10=231 − 1 但pop>7. (231 − 1=2147483647)

2. 原来的 rev *10<-231, 或 rev *10=231 − 1 但pop<-8. (-231=-2147483648)

以下是solution:

 class Solution {
public int reverse(int x) {
int rev=0;
while(x!=0){
int pop=x %10;
x=x/10;
if(rev>Integer.MAX_VALUE/10||(rev==Integer.MAX_VALUE&&pop>7)) return 0;
if(rev<Integer.MIN_VALUE/10||(rev==Integer.MIN_VALUE&&pop<-8)) return 0;
rev=rev*10+pop;
}
return rev;
}
}

第9题的思路跟第7题很相似。

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Coud you solve it without converting the integer to a string?

这道题可以将数值反过来在去和原来的比,看是否数值相等。只需在第7题的基础上加一句比较就行了。

 class Solution {
public boolean isPalindrome(int x) {
int rev=0;
int input=x;
if(x<0) return false;
while(x!=0){
int pop = x%10;
x=x/10;
if(rev>Integer.MAX_VALUE/10||(rev==Integer.MAX_VALUE&&pop>7)) return false;
if(rev<Integer.MIN_VALUE/10||(rev==Integer.MIN_VALUE&&pop<-8)) return false;
rev=rev*10+pop;
}
if(input==rev) return true;
return false;
}
}

7. Reverse Integer 反向输出整数 easy 9. Palindrome Number 判断是否是水仙花数 easy的更多相关文章

  1. 【Leetcode】【Easy】Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space. 判断一个整数是不是回文整数(例12321).不能使 ...

  2. C# 写 LeetCode easy #9 Palindrome Number

    9.Palindrome Number Determine whether an integer is a palindrome. An integer is a palindrome when it ...

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

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

  4. 7. Reverse Integer(翻转整数)

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

  5. 9 Palindrome Number(判断是否为回文数Easy)

    题目意思:判断是否为回文数,不许使用额外空间 ps:一直不理解额外空间的意思,int能用吗 思路:1.比较头尾 2.翻转,越界问题需考虑 class Solution { public: bool i ...

  6. C# 写 LeetCode easy #7 Reverse Integer

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

  7. LeetCode之Easy篇 ——(7)Reverse Integer

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

  8. Leetcode 7 反转整数Reverse Integer

    给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: ...

  9. [LintCode] Reverse Integer 翻转整数

    Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ...

随机推荐

  1. vue 生命周期 笔记

    生命周期:一个组件从创建到销毁的这个过程叫做生命周期 生命周期钩子函数   1.组件从创建到销毁的过程 1.创建前 创建后 2.挂载前 挂载后 3.更新前 更新后 4.销毁前 销毁后 beforeCr ...

  2. 2018 ACM-ICPC 亚洲区域赛北京现场赛 I题 Palindromes

    做法:打表找规律 大数是过不了这个题的(但可以用来打表) 先找k的前缀,前缀对应边缘数字是哪个 如果第0位是2-9 对应奇数长度的1-8 第0位为1时,第1位为0时对应奇数长度的9,为1-9时对应偶数 ...

  3. 九,php中上传文件

    1,php网页上传文件大小有限制的,默认最大2M.可以修改php.ini调节大小,upload_max_filesize = 2M.网页上传使用http协议,上传大文件性能不好:有些公司做一个客户端软 ...

  4. ElasticSearch NEST搜索

    var client = ElasticsearchHelper.GetElasticClient("order");QueryContainer termQuery = new ...

  5. AngularJS入门讲解2:过滤器和双向绑定

    我们在上一课做了很多基础性的训练,接下来,我们讲一些难点的知识点,首先,讲一下如何实现一个全文检索功能: <html ng-app> <head> ... <script ...

  6. [Virtualization] VMware虚拟机三种网络模式详解(转)

    原文:http://www.linuxidc.com/Linux/2016-09/135521.htm

  7. 如何使用robots禁止各大搜索引擎爬虫爬取网站

    ps:由于公司网站配置的测试环境被百度爬虫抓取,干扰了线上正常环境的使用,刚好看到每次搜索淘宝时,都会有一句由于robots.txt文件存在限制指令无法提供内容描述,于是便去学习了一波 1.原来一般来 ...

  8. Swagger2使用记录

    1. Swagger2使用记录 1.1. Bean配置文件 @Configuration public class Swagger2 { @Bean public Docket createRestA ...

  9. 用 diff 比较两个 hdfs 文件内容

    diff <(hadoop fs -cat /path/to/file) <(hadoop fs -cat /path/to/file2)

  10. html5+js+.Net的即时多人聊天

            今天看了下websocket的知识,了解到这是html5新增的特性,主要用于实时web的通信.之前客户端获取服务端的数据,是通过客户端发出请求,服务端进行响应的模式,或者通过ajax每 ...