From a8567738b85046194e11ddf67dbc49cce514a8e2 Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Mon, 7 Oct 2024 20:15:21 +0200 Subject: [PATCH] =?UTF-8?q?java:=20add=20=C2=AB2696.=20Minimum=20String=20?= =?UTF-8?q?Length=20After=20Removing=20Substrings=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- ...tring-length-after-removing-substrings.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 java/minimum-string-length-after-removing-substrings.java diff --git a/java/minimum-string-length-after-removing-substrings.java b/java/minimum-string-length-after-removing-substrings.java new file mode 100644 index 0000000..1bbd95d --- /dev/null +++ b/java/minimum-string-length-after-removing-substrings.java @@ -0,0 +1,18 @@ +class Solution { + public int minLength(String s) { + var st = new Stack(); + + for (var c : s.toCharArray()) { + var last = !st.empty() ? st.peek() : '\0'; + if (last == 'A' && c == 'B') { + st.pop(); + } else if (last == 'C' && c == 'D') { + st.pop(); + } else { + st.push(c); + } + } + + return st.size(); + } +}