7. Reverse Integer(反转整数)
Posted bspp1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7. Reverse Integer(反转整数)相关的知识,希望对你有一定的参考价值。
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,如果反转后的整数溢出,则返回 0。
这个题目实际上就是一个简单的除法和求余的问题的,唯一需要注意的地方就是int型整数反转之后会有溢出的问题。于是开始的时候
想了一下就直接用long型来保存result。具体代码如下:
int reverse(int x) { long result = 0; while(1) { result = result * 10 + x % 10; x = x / 10; if(x == 0) break; } if(result > INT_MAX|| result < INT_MIN) return 0; else return result; }
后来又看官方的解答,里面的result依旧用int。代码如下:
int reverse(int x) { int result = 0; while(1) { if(abs(result)>INT_MAX/10) return 0; result = result * 10 + x % 10; x = x / 10; if(x == 0) break; } return result; }
以上是关于7. Reverse Integer(反转整数)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 7. 反转整数(Reverse Integer)
[leetcode]7. Reverse Integer反转整数