首页 > 代码库 > LeetCode---------Reverse Integer解法
LeetCode---------Reverse Integer解法
题目如下:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
大致翻译:
将一个整数反转.
例子1:x = 123, 返回321
例子2:x = -123, 返回-321
注意:
假设输入是一个32位的有符号整数。当转换整数超出界限时返回0。
整数的反转并不容易,但是字符串的反转比较简单,甚至有函数可以直接实现字符串的反转。所以我们考虑首先将整数转换为字符串,然后转换字符串,再转换为整数。
由于String类中并没有对应的反转字符串的API,但是StringBuffer类中有反转字符传API:reverse().
需要注意:当字符串转换为整数时可能会出错,有许多原因,包括格式不匹配、转换后的数超过int的界限等。所以应该加入异常的捕捉和处理。而题目中也要求超出界限返回0.
【Java代码】如下:
public class Solution { public int reverse(int x) { String s = x + ""; String symbol = ""; //判断是否有负号 if(s.charAt(0) == ‘-‘){ symbol="-"; s = s.substring(1, s.length()); } StringBuilder str = new StringBuilder(s); //反转字符串 s = str.reverse().toString(); s = symbol + s; try{ return Integer.parseInt(s); }catch(Exception e){ //如果转换int出错,则返回0 return 0; } } }
如果有任何问题,欢迎跟我联系:xiaomenxiaomen@qq.com
我的github地址:github.com/WXRain
LeetCode---------Reverse Integer解法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。