From 497f2de3619d2a0ddc76dd94c3460f1fbf94f8eb Mon Sep 17 00:00:00 2001 From: Harsh Singh <93440683+harshsinghreal@users.noreply.github.com> Date: Wed, 30 Oct 2024 16:48:46 +0530 Subject: [PATCH] Create solution2.java One more approach to solve atoi problem. --- Java/String to integer/solution2.java | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Java/String to integer/solution2.java diff --git a/Java/String to integer/solution2.java b/Java/String to integer/solution2.java new file mode 100644 index 0000000..affe03a --- /dev/null +++ b/Java/String to integer/solution2.java @@ -0,0 +1,29 @@ +class Solution { + public int myAtoi(String s) { + s = s.trim(); + if (s.isEmpty()) { + return 0; + } + + int ans = 0, i = 0; + boolean neg = s.charAt(0) == '-'; + boolean pos = s.charAt(0) == '+'; + + if (neg || pos) { + i++; + } + + while (i < s.length() && Character.isDigit(s.charAt(i))) { + int digit = s.charAt(i) - '0'; + + if (ans > Integer.MAX_VALUE / 10 || (ans == Integer.MAX_VALUE / 10 && digit > Integer.MAX_VALUE % 10)) { + return neg ? Integer.MIN_VALUE : Integer.MAX_VALUE; + } + + ans = ans * 10 + digit; + i++; + } + + return neg ? -ans : ans; + } +}