From 0c998e78ca89b0be3403e1bfaf0d1b47bd18f00d Mon Sep 17 00:00:00 2001 From: Amar Date: Fri, 2 Oct 2020 12:05:59 +0530 Subject: [PATCH] Optimize solution --- java/007_Reverse_Integer.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/007_Reverse_Integer.java b/java/007_Reverse_Integer.java index c6607a9..7ec569c 100644 --- a/java/007_Reverse_Integer.java +++ b/java/007_Reverse_Integer.java @@ -1,13 +1,13 @@ class Solution { public int reverse(int x) { - if (x == 0) return 0; - long res = 0; + int rev = 0; while (x != 0) { - res = res * 10 + x % 10; - if (res > Integer.MAX_VALUE || res < Integer.MIN_VALUE) - return 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 (int) res; + return rev; } } \ No newline at end of file