首页 > 其他 > 详细

LeetCode_7. Reverse Integer

时间:2019-09-14 09:06:37      阅读:59      评论:0      收藏:0      [点我收藏+]

 

7. Reverse Integer

Easy

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

Note:

Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

 

package leetcode;

public class ReverseInteger {
	@org.junit.Test
	public void test() {
		int number1 = 123;
		int number2 = -123;
		int number3 = 120;
		ReverseInteger reverseInteger = new ReverseInteger();

		System.out.println(reverseInteger.reverse(number1));
		System.out.println(reverseInteger.reverse(number2));
		System.out.println(reverseInteger.reverse(number3));
	}

	public int reverse(int x) {
		int rev = 0;
		while (x != 0) {
			int pop = x % 10;
			x /= 10;
			if (rev > Integer.MAX_VALUE / 10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) {
				return 0;
			}
			if (rev < Integer.MIN_VALUE / 10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) {
				return 0;
			}
			rev = rev * 10 + pop;
		}
		return rev;
	}
}

 

LeetCode_7. Reverse Integer

原文:https://www.cnblogs.com/denggelin/p/11518189.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!