diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingStack.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingStack.java index d6568b4ac9..9e4592a512 100644 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingStack.java +++ b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingStack.java @@ -5,43 +5,35 @@ import java.util.Stack; public class BalancedBracketsUsingStack { public boolean isBalanced(String str) { - boolean result = true; - if (null == str || str.length() == 0 || ((str.length() % 2) != 0)) { - result = false; + return false; } else { char[] ch = str.toCharArray(); for (char c : ch) { if (!(c == '{' || c == '[' || c == '(' || c == '}' || c == ']' || c == ')')) { - result = false; - break; + return false; } } } - if(result) { - Stack stack = new Stack<>(); - for (char ch: str.toCharArray()) { - if (ch == '{' || ch == '[' || ch == '(') { - stack.push(ch); + Stack stack = new Stack<>(); + for (char ch: str.toCharArray()) { + if (ch == '{' || ch == '[' || ch == '(') { + stack.push(ch); + } else { + if ( !stack.isEmpty() + && ((stack.peek() == '{' && ch == '}') + || (stack.peek() == '[' && ch == ']') + || (stack.peek() == '(' && ch == ')') + )) { + stack.pop(); } else { - if ( !stack.isEmpty() - && ((stack.peek() == '{' && ch == '}') - || (stack.peek() == '[' && ch == ']') - || (stack.peek() == '(' && ch == ')') - )) { - stack.pop(); - result = true; - } else { - result = false; - break; - } + return false; } - } } - return result; + return true; } } \ No newline at end of file diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingString.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingString.java index 6ed0923d9e..d808842dc3 100644 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingString.java +++ b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/balancedbrackets/BalancedBracketsUsingString.java @@ -3,35 +3,25 @@ package com.baeldung.algorithms.balancedbrackets; public class BalancedBracketsUsingString { public boolean isBalanced(String str) { - boolean result = true; - if (null == str || str.length() == 0 || ((str.length() % 2) != 0)) { - result = false; + return false; } else { char[] ch = str.toCharArray(); for(char c : ch) { if(!(c == '{' || c == '[' || c == '(' || c == '}' || c == ']' || c == ')')) { - result = false; - break; + return false; } } } - if (result) { - while (str.indexOf("()") >= 0 || str.indexOf("[]") >= 0 || str.indexOf("{}") >= 0) { - str = str.replaceAll("\\(\\)", "") - .replaceAll("\\[\\]", "") - .replaceAll("\\{\\}", ""); - } - if (str.length() > 0) { - result = false; - } else { - result = true; - } + while (str.contains("()") || str.contains("[]") || str.contains("{}")) { + str = str.replaceAll("\\(\\)", "") + .replaceAll("\\[\\]", "") + .replaceAll("\\{\\}", ""); } + return (str.length() == 0); - return result; } } \ No newline at end of file