LeetCode 7 Reverse Integer(反转数字)
题目来源:https://leetcode.com/problems/reverse-integer/
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
解题思路:
其实这道题看起来非常简单,要实现也是几行代码的事。但是有个小问题容易被忽略,就是边界问题。什么意思呢?如果我们输入的整数超出了int的表达范围,这个问题要怎么解决呢?
用比int更大的数据类型存储我们转换后的结果,然后与int的边界比较,超出了边界则返回0。
Java实现:
1 public class Solution { 2 public int reverse(int x) { 3 long reverse = 0; 4 5 while(x != 0){ 6 reverse = reverse * 10 + x % 10; 7 if(reverse > Integer.MAX_VALUE || reverse < Integer.MIN_VALUE) 8 return 0; 9 x = x / 10; 10 } 11 return (int)reverse; 12 } 13 }
作者: 伊甸一点
出处: http://www.cnblogs.com/zpfbuaa/
本文版权归作者伊甸一点所有,欢迎转载和商用(须保留此段声明),且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文链接 如有问题, 可邮件(zpflyfe@163.com)咨询.