给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

/**
	 * 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
	 * @param x
	 * @return
	 */
	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;
	}

猜你喜欢

转载自blog.csdn.net/sinat_34612251/article/details/87617401