LeetCode:Reverse Integer
来源:互联网 发布:ps合成图片软件 编辑:程序博客网 时间:2024/05/16 14:04
推荐参照:Leetcode题目难度等级及面试频率总结
题目描述:reverse-integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
思路一:
这题的关键在于考虑反转后会存在溢出的情况。借助一中间变量来判断是否溢出。刚开始使用下面的语句进行判断,if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE),结果WA。原因是res*10后就溢出了,再用res已经是不可预期的数了,没法和真正的上下限进行比较了。
public int reverse(int x){ int res = 0; while (x != 0){ int remainder = x % 10; int newRes = res * 10 + remainder; //针对溢出的检测 if ((newRes - remainder) / 10 != res) return 0; //检测溢出方案二在这是有问题的:// if(res >Integer.MAX_VALUE|| res < Integer.MIN_VALUE) // return 0; res = newRes; x /= 10; } return res; }
Runtime:43ms
思路二:
借助字符串处理整数,但是同样需要注意溢出的情况。
import java.util.*;public class Solution { public int reverse(int x) { String str = ""; if(x < 0){ x = -x; str = "-"; } String s = Integer.toString(x); for(int i = 0; i < s.length(); i++){ str += s.charAt(s.length() - i - 1); } try {//捕获溢出异常等 return Integer.parseInt(str); }catch(NumberFormatException e){ return 0; } }}
Runtime:49ms
Any comments greatly appreciated.
1 0
- LeetCode:Reverse Integer
- LeetCode: Reverse Integer
- [Leetcode] Reverse Integer
- LeetCode : Reverse Integer
- [LeetCode] Reverse Integer
- Leetcode: Reverse Integer
- LeetCode 7 - Reverse Integer
- leetcode 104: Reverse Integer
- Leetcode : Reverse Integer
- 【leetcode】Reverse Integer
- [LeetCode]Reverse Integer
- LeetCode-Reverse Integer
- [leetcode] Reverse Integer
- LeetCode - Reverse Integer
- leetcode之Reverse Integer
- LeetCode | Reverse Integer
- LeetCode: Reverse Integer
- Leetcode: Reverse Integer
- Hive四种数据导入方式 (三)
- 装双系统出现“无法找到存活的文件系统”的解决办法
- 根据模板的AM数据信息提取插件设计
- 不良资产处置,正在爆发的10万亿蓝海市场
- 【北邮OJ】277. 内存分配-网研14-计算机二14
- LeetCode:Reverse Integer
- The case for the reduced Instruction Set computer读后感
- 百度一面(电话面试)总结
- Linux—20条命令(二)
- 大数据实时处理实战
- Java前期(静态)绑定和后期(动态)绑定
- UltralEdit替换回车/换行符
- 求两个正整数的最大公约数
- Tomcat源码学习-1-初始化