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. 【文文殿下】后缀自动机(SAM)求最长公共子串的方法

    首先,在A 串上建立一个SAM,然后用B串在上面跑.具体跑的方法是: 从根节点开始,建立一个指针 p ,指着B串的开头,同步移动指针,沿着SAM的边移动,如果可以移动(即存在边)那么万事皆好,直接le ...

  2. 菜鸟浅谈“诈骗”希望“治未病"

    关于目前诈骗.社工数据的套路,说道说道~ 一.前言 这篇文章没有什么高深的技术,只有普普通通的套路,主要也是有I春秋各位表哥与诈骗分子的交手有感而发! 二.正文 因为我们上网的或者其他条件下的人群,没 ...

  3. 分享一些JAVA常用的学习网站

    常用学习网站freecodecamp 一个非常好的网站,教学模式类似游戏中的闯关,通过每关之后会有成就感,在该网站还有设有聊天室,可以进行相关的技术交流,很棒的学习网站. https://www.fr ...

  4. day00 预习 ------基础数据类型预习 ,int ,str ,bool ,dict ,set ,切片,等相关

    知识点明确 1 int 2 str 3 元祖 4.列表 5. 字典 6 集合 7 布尔 1  int  数据类型 int 数据类型指的是. 数字型的内容 ,主要用于计算, 2 str 字符类型 str ...

  5. PDF转HTML的方法。

    上个项目客户提出了一个需求,要求把PDF格式的文件转化为HTML格式. 上网查了一下,要么使用软件处理,要么是HTML格式转化为PDF.因为涉及到图文识别问题,所以说仅仅依靠前端不能实现.在网上查了几 ...

  6. java_对象序列化

    对象序列化(serializable) 序列化读:ObjectInputStream  ois=new ObjectInputStream(new FileInputStream("./gg ...

  7. Java方法区

    方法区 在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中.类型信息是由类加载器在类加载时从类文件中提取出来的.类(静态)变量也存储在方法区中. jvm实现的设计者决定了类型信息的内 ...

  8. leetcode-278-First Bad Version(注意不要上溢)

    题目描述:(说明中有简单翻译) You are a product manager and currently leading a team to develop a new product. Unf ...

  9. FJWC2019 全连

    题目描述 有n个音符,第i个音符会在第i个时刻来临 令第 i 个音符的准备时间为 ti​ 个单位时间,如果选择去点击第 i 个音符,那么就没法点击所有到来时刻在 (i−ti​ ,i+ti​)中的音符. ...

  10. POJ – 1200 Crazy Search

    http://poj.org/problem?id=1200 #include<iostream> #include<cstring> using namespace std; ...