[LintCode] Reverse Integer
Problem
Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).
Example
Given x = 123, return 321
Given x = -123, return -321
Note
这道题有一些细节需要留意。新数res会不会溢出?符号位如何处理?
用惯用的做法,n除以10取余,得到最低位cur,放进res。每次循环res乘以10累加当前最低位cur,同时n除以10不断减小。
要点在于考虑res乘10累加运算的情况,用分支语句判断发生溢出的条件。不能直接写if (res * 10 + cur > Integer.MAX_VALUE)
,因为res * 10
就有可能会溢出了;而要用(Integer.MAX_VALUE - cur) / 10
,因为只有减法和除法,结果不可能溢出。
最后的结果要加上之前排除的符号位。
Solution
public class Solution {public int reverseInteger(int n) {boolean isNeg = n < 0;n = isNeg ? -n : n;int res = 0;while (n != 0) {int cur = n % 10;if (res >= (Integer.MAX_VALUE - cur) / 10) return 0;res = res * 10 + cur;n /= 10;}return isNeg ? -res : res;}
}
[LintCode] Reverse Integer相关推荐
- [LeetCode] Number of 1 Bits Reverse Integer - 整数问题系列
目录: 1.Number of 1 Bits - 计算二进制1的个数 [与运算] 2.Contains Duplicate - 是否存在重复数字 [遍历] 3.Reverse Integer - 翻 ...
- [Leetcode] Reverse Integer
Reverse Integer 题解 题目来源:https://leetcode.com/problems/reverse-integer/description/ Description Given ...
- LeetCode 7 Reverse Integer(反转数字)
题目来源:https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x = 123, ...
- JAVA怎么将整数反转_【leetcode刷题】[简单]7.反转整数(reverse integer)-java
反转整数 reverse integer 题目 给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 ...
- LeetCode - 7. Reverse Integer
7. Reverse Integer Problem's Link ------------------------------------------------------------------ ...
- (7)-(Reverse Integer)-(将整数按位反转成另外一个整数,考虑溢出)-(知道最大整数和最小整数值)...
(7)-(Reverse Integer)-(将整数按位反转成另外一个整数,考虑溢出)-(知道最大整数和最小整数值)//Reverse digits of an integer.//Example1: ...
- 【翻转整数考虑溢出】LeetCode 7. Reverse Integer
LeetCode 7. Reverse Integer Solution1:最笨的方法 class Solution {public:int reverse(int x) {if (!x) retur ...
- LeetCode in Python-7. Reverse Integer 整数反转
Reverse Integer 整数反转 题目 解法1.利用数值反转数字 解法2.字符串反转 解法3. 出处 题目 解法1.利用数值反转数字 class Solution:def reverse(se ...
- lintcode :reverse integer 颠倒整数
题目: 颠倒整数 将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数). 样例 给定 x = 123,返回 321 给定 x = -123,返回 -321 解题: 直接 ...
最新文章
- Hibernate中get方法和load方法的区别
- 利用蒙特卡罗法,国外老哥成功制造出 100% 投篮命中的篮板!
- ylbtech-Unitity-CS:Hello world
- FAST UA API
- 在Python 中 a=a+b 与 a+=b 区别,你真的知道嘛?
- c语言realloc函数中写啥,求大神解惑realloc函数,谢谢!
- ai中如何插入签名_技巧不求人167期 Excel如何打印到1页纸的2种方法 Excel如何插入手写签名...
- 【RK3399Pro学习笔记】十三、ROS中的坐标系管理系统
- 【Pytorch神经网络理论篇】 27 图神经网络DGL库:简介+安装+卸载+数据集+PYG库+NetWorkx库
- 程序员小抄 (转载自酷壳,一个专注技术的博客)
- jsp - 9 内置对象application详解
- 分布式事务与2PC、3PC理论详解
- python连续读取邮件_Python读取指定日期邮件的实例
- kernel oops_Java中的OOPS概念– OOPS概念示例
- 使用异步存储提升 Web 应用程序的离线体验
- 【工具推荐】Adobe Reader 设置高亮颜色及深浅
- 2023天津大学土木水利专业考研成功经验分享
- JSP登录中Session的用法
- c语言劝学,11劝学.doc
- java坦克大战案例_JAVA实现经典坦克大战源代码