LeetCode--Reverse Integer
来源:互联网 发布:农业供给侧 知乎 编辑:程序博客网 时间:2024/06/06 06:47
题目:
可以点击“click to show spoilers”,查看需要考虑的问题。我是做题的时候没有查看,结果里面给出的三个注意的地方只考虑了两个,导致提交之后溢出,之后又重新考虑。
我的解决方案:
public class Solution { public int reverse(int x) { char[] sArray = String.valueOf(x).toCharArray(); StringBuilder sb = new StringBuilder(); int flag=1; if (x == 0) {//处理x=0 sb.append(x); } else { int min = 0; if (x < 0) { min = 1; flag=-1; } boolean isStart = false;//处理类似x=123000或x=-123000情况 int len = sArray.length - 1; for (int i = len; i >= min; i--) { if (!isStart) { if (sArray[i] != '0') { isStart = true; sb.append(sArray[i]); } } else { sb.append(sArray[i]); } } } String str=sb.toString(); if (x >= 0) { if (Long.parseLong(str) >2147483647) { return 0; } else { return Integer.parseInt(str); } } else { if (Long.parseLong(str) >2147483648L) { return 0; } else { return Integer.parseInt(str)*flag; } } }}
效率结果:
ps:感觉代码有点杂,有空了再改进。
UPDATE1:
参考网上的解决方案(代码很简洁):
public class Solution { int reverse(int x) {long res = 0;while(x!=0){res = res*10 + x%10;x /= 10;}if(res>2147483647||res<-2147483648)return 0;return (int)res; }}
效率结果(效率有所改进):
0 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
- Two Sum II - Input array is sorted
- Qualcomm平台camera调试移植入门
- Elasticsearch-索引优化篇1
- Android ListView item 点击背景不变色
- IIC和SPI总线
- LeetCode--Reverse Integer
- live555单线程原理
- Binary Tree Inorder Traversal
- web.xml配置文件的加载顺序
- 文件操作
- 代码中特殊的注释技术——TODO、FIXME和XXX的用处
- WEBAPP
- Edit Distance 动态规划
- android项目中values中ids.xml的作用