Try   HackMD

LeetCode 7. Reverse Integer (Java)

tags: leetcode Java

Description

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

將整數反轉,遇到超過32-bit的數就回傳0

Example

Input: x = 123
Output: 321
Input: x = -123
Output: -321
Input: x = 0
Output: 0

Idea

  • 要用到Integer.MAX_VALUEInteger.MIN_VALUE去防止32-bit以上的數回傳錯誤

Code

class Solution { public int reverse(int x) { long result = 0; while(x != 0){ int temp = x % 10; x = x / 10; result = result * 10 + temp; } if(result > Integer.MAX_VALUE || result < Integer.MIN_VALUE) return 0; else return (int)result; } }

Result

Runtime: 1 ms, faster than 100.00% of Java online submissions for Reverse Integer.
Memory Usage: 35.6 MB, less than 98.93% of Java online submissions for Reverse Integer.