首页 > 代码库 > LeetCode--Reverse Integer
LeetCode--Reverse Integer
题目:
可以点击“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:感觉代码有点杂,有空了再改进。
LeetCode--Reverse Integer
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。