LeetCode——Reverse Integer
2014-11-16 09:26
666 查看
Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321
Example2: x = -123, return -321
public class Solution { public int reverse(int x) { String tmp = new String(); String tmp_2 = new String(); tmp = ((Integer) x).toString(); if (tmp.charAt(0) == '-') { for (int i = tmp.length() - 1; i > 0; i--) tmp_2 = tmp_2 + tmp.charAt(i); tmp = "-" + tmp_2; } else { for (int i = tmp.length() - 1; i >= 0; i--) tmp_2 = tmp_2 + tmp.charAt(i); tmp = tmp_2; } return Integer.parseInt(tmp); } }
Submission Result: Runtime Error
Runtime Error Message: | Line 17: java.lang.NumberFormatException: For input string: "7463847412" |
Last executed input: | 2147483647 |
返回结果超出int整数范围,应该考虑转化之后数值大小的边界检查
原先的思路是用穷举法对结果检查,试了很多次都没有pass;一怒之下,直接用try/catch捕捉异常,搞定。
Java代码:
public class Solution {
public int reverse(int x) {
String tmp = new String();
String tmp_2 = new String();
tmp = ((Integer) x).toString();
if (tmp.charAt(0) == '-') {
for (int i = tmp.length() - 1; i > 0; i--)
tmp_2 = tmp_2 + tmp.charAt(i);
tmp = "-" + tmp_2;
} else {
for (int i = tmp.length() - 1; i >= 0; i--)
tmp_2 = tmp_2 + tmp.charAt(i);
tmp = tmp_2;
}
try{
Integer.parseInt(tmp);
}catch(Exception e){
return 0;
}
return Integer.parseInt(tmp);
}
}
相关文章推荐
- 【leetcode】整型翻转问题integer reverse
- leetcode——Reverse Integer
- leetcode——7—— Reverse Integer可仿溢出
- 【LeetCode】7 & 8 - Reverse Integer & String to Integer (atoi)
- leetcode(7) - Reverse Integer
- LeetCode Reverse Integer
- LeetCode Reverse Integer
- 007_LeetCode_7 Reverse Integer 题解
- [Leetcode]Reverse Integer@python
- Leetcode:Reverse Integer
- leetcode题解||Reverse Integer 问题
- LeetCode--Reverse Integer(整数反转)Python
- [Leetcode] reverse integer 反转整数
- LeetCode Reverse Integer
- leetcode Reverse Integer
- 【leetcode】Reverse Integer(middle)☆
- LeetCode: Reverse Integer
- Leetcode 07 Integer Reverse问题
- 【LeetCode】Reverse Integer解题笔记
- Reverse Integer(leetcode)