7. Reverse Integer 反向输出整数 easy 9. Palindrome Number 判断是否是水仙花数 easy
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的更多相关文章
- 【Leetcode】【Easy】Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space. 判断一个整数是不是回文整数(例12321).不能使 ...
- C# 写 LeetCode easy #9 Palindrome Number
9.Palindrome Number Determine whether an integer is a palindrome. An integer is a palindrome when it ...
- leetcode:Reverse Integer(一个整数反序输出)
Question:Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 ...
- 7. Reverse Integer(翻转整数)
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...
- 9 Palindrome Number(判断是否为回文数Easy)
题目意思:判断是否为回文数,不许使用额外空间 ps:一直不理解额外空间的意思,int能用吗 思路:1.比较头尾 2.翻转,越界问题需考虑 class Solution { public: bool i ...
- C# 写 LeetCode easy #7 Reverse Integer
7.Reverse Integer Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 ...
- LeetCode之Easy篇 ——(7)Reverse Integer
7.Reverse Integer Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: Out ...
- Leetcode 7 反转整数Reverse Integer
给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: ...
- [LintCode] Reverse Integer 翻转整数
Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ...
随机推荐
- java中二维数组遍历
public class Demoshuzu2 { public static void main(String[] args) { int[][] arr2 = {{78,79,65, ...
- [bzoj4712]洪水 线段树+树链剖分维护动态dp+二分
Description 小A走到一个山脚下,准备给自己造一个小屋.这时候,小A的朋友(op,又叫管理员)打开了创造模式,然后飞到山顶放了格水.于是小A面前出现了一个瀑布.作为平民的小A只好老实巴交地爬 ...
- 给洛谷填坑的spj……
这里提供了洛谷某些题的$special\ judge$,供需要的oier拿过去对拍. 1.P3825 #include "testlib.h" using namespace st ...
- 记一次在CentOS系统搭建python3环境
首先,查看linux系统类型和版本:参考:查看linux系统类型和版本 默认Centos7中是有python安装的,但是是2.7版本,实际上这几个文件之间是有依赖关系的.在ls 后面加个 -al参数, ...
- 查看inux系统类型和版本
当我们使用一台新的linux服务器的时候,为了区分他们的命令,我们首先第一步就是要搞清楚这个系统的类型和版本号,据此再来使用对应的命令. 下面来看看可以使用以下基本命令来查看 Linux 发行版名称和 ...
- string类型介绍
一.前言 int,float,char,C++标准库提供的类型:string,vector. string:可变长字符串的处理:vector一种集合或者容器的概念. 二.string类型简介 C++标 ...
- Python全栈开发:list、元祖常用方法操作
列表[] 索引与切片#例题#li = ['yijiajun',[1,3,5,7,9],'zhangliang','zhaoritian','sunwukong'] # #例子1 找出列表中索引为0的元 ...
- SCOI2019 游记
写在前面 其实冬令营之后就有一些想说的内容,由于心情原因没有写出来.PKUWC 失误频频,唯一可能还有点价值的就是 Day2T3 计算几何推了 76 分出来.NOIWC 更是无心再谈,感觉是被提答送走 ...
- 一张图说清楚SQL的Join
话不多说..看图
- Mac下安装Fiddler抓包工具(别试了,会报错,没办法使用)
下载: https://www.telerik.com/download/fiddler 离线版本:(链接: https://pan.baidu.com/s/1hr7f8QK 密码: ukg2) 安装 ...