7. Reverse Integer
2017-08-07 22:00
344 查看
1.题目
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
click to show spoilers.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
2.分析
这道题比较简短,- -有一点没办法理解通过率怎么那么低- -,应该是超过int范围没有处理好。我是讲输入存入StringBuffer,然后利用StringBuffer的reverse();反转后,将结果保存进long中,如果没有超过int边界就输出,越界就输出0;其中正负数转换为整数处理,最后输出根据输入正负输出。
3.解题
我的解法:
别人的解法:
4.总结
别人这个解法好像就是利用%10,然后还原来做,这样就讲数值反序过来,并通过步骤中能否还原来判断是否越界,因为一旦越过int字长范围,系统将随机差生一个数值。。
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
click to show spoilers.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
2.分析
这道题比较简短,- -有一点没办法理解通过率怎么那么低- -,应该是超过int范围没有处理好。我是讲输入存入StringBuffer,然后利用StringBuffer的reverse();反转后,将结果保存进long中,如果没有超过int边界就输出,越界就输出0;其中正负数转换为整数处理,最后输出根据输入正负输出。
3.解题
我的解法:
public class Solution { public int reverse(int x) { long num = x; String str ; if(num>0){ str = String.valueOf(num); }else{ str = String.valueOf(-num); } StringBuffer buffer = new StringBuffer(str); String result = buffer.reverse().toString(); if(Long.valueOf(result)>Integer.MAX_VALUE){ return 0; } if(num<0){ return Integer.valueOf(result)*(-1); } return Integer.valueOf(result); } }
别人的解法:
public int reverse(int x) { int result = 0; while (x != 0) { int tail = x % 10; int newResult = result * 10 + tail; if ((newResult - tail) / 10 != result) { return 0; } result = newResult; x = x / 10; } return result; }
4.总结
别人这个解法好像就是利用%10,然后还原来做,这样就讲数值反序过来,并通过步骤中能否还原来判断是否越界,因为一旦越过int字长范围,系统将随机差生一个数值。。
相关文章推荐
- 7. Reverse Integer--数字反转输出
- LeetCode 7. Reverse Integer(数学)
- 7. Reverse Integer
- LeetCode 7. Reverse Integer
- 7. Reverse Integer
- 7. Reverse Integer
- LeetCode——7. Reverse Integer
- 7. Reverse Integer
- Leetcode||7. Reverse Integer
- 7. Reverse Integer
- [LeetCode]7. Reverse Integer
- 7. Reverse Integer
- 7. Reverse Integer
- [LeetCode]7. Reverse Integer
- Leetcode: 7. Reverse Integer(JAVA)
- 7. Reverse Integer
- leetcode 7. Reverse Integer
- leetcode 7. Reverse Integer
- 干活干累了,刷一道题,一天保底两道,一年也就差不多刷完了 ----------7. Reverse Integer
- 7. Reverse Integer