摘要:题目详情题目要求我们给出一个数的翻转数想法这道题主要的坑就是在于一个数值的输入,在进行翻转操作之后,不一定还符合的范围,可能会造成异常。我们可以通过每次获得整数除的余数,来确定当前整数的最后一位。
题目详情
Given a 32-bit signed integer, reverse digits of an integer.想法题目要求我们给出一个数的翻转数
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
这道题主要的坑就是在于一个int数值的输入,在进行翻转操作之后,不一定还符合int的范围,可能会造成异常。
我们可以通过每次获得整数除10的余数,来确定当前整数的最后一位。
解法public int reverse(int x) { long res = 0; while(x != 0){ int tail = x % 10; res = res*10 + tail; if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE){ return 0; } x = x/10; } return (int)res; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70942.html
摘要:原题目为难度此题让我们输出给定一个整数的倒序数比如倒序为倒序为但是如果倒序的过程中发生整型溢出我们就输出倒序不复杂关键在于如何判定将要溢出最终的程序如下其中是获取的个位数字判定下一步是否将要溢出使用 原题目为: Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -3...
摘要:判断溢出这里使用了中的类整数类,缩写就是的静态变量和,就能直接得到整型变量可表示数值的上下限。当结果不在此范围内时,则溢出,并返回否则返回正常结果。 要点 这一题的要点有三个: 接收长度不同的数字并翻转 判断结果是否溢出 解决方法 翻转:为了能够接收不同长度的数字进行反转操作,我们使用循环结构进行操作。(注:这里创建的sum变量一定要用long类型而不能用int,原因是采用int...
摘要:字符串法复杂度时间空间思路先将数字转化为字符串,然后将字符串倒序输出,并转回数字。模十法复杂度时间空间思路通过对数字模十取余得到它的最低位。除了检查溢出返回特定值以外,有没有别的方法处理溢出可以使用代码块排除异常。 Reverse Integer Reverse digits of an integer.Example1: x = 123, return 321Example2: x ...
摘要:第一时间想到这是经典的取模取余运算,但是写的过程中遇到了很多问题这么简单一题基础做法取一个整数的最后一位数字只要把这个整数就可以,要取除最后一位数字之外的其它数字只要是没有长度函数的,需要转化成才能使用长度函数用这个方法最大的难点在 Easy 007 Reverse Integer Description: Given a 32-bit signed integer, reverse ...
摘要:微信公众号记录截图记录截图目前关于这块算法与数据结构的安排前。已攻略返回目录目前已攻略篇文章。会根据题解以及留言内容,进行补充,并添加上提供题解的小伙伴的昵称和地址。本许可协议授权之外的使用权限可以从处获得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目录 不...
阅读 1148·2021-09-27 13:34
阅读 945·2021-09-13 10:25
阅读 482·2019-08-30 15:52
阅读 3417·2019-08-30 13:48
阅读 622·2019-08-30 11:07
阅读 2135·2019-08-29 16:23
阅读 1968·2019-08-29 13:51
阅读 2299·2019-08-26 17:42