Skip to content

Commit 3f7abc5

Browse files
docs: add time & space complexity for Stacks (#7132)"
1 parent d9f2ac8 commit 3f7abc5

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

src/main/java/com/thealgorithms/stacks/BalancedBrackets.java

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ private BalancedBrackets() {
2323
/**
2424
* Check if {@code leftBracket} and {@code rightBracket} is paired or not
2525
*
26-
* @param leftBracket left bracket
26+
* @param leftBracket left bracket
2727
* @param rightBracket right bracket
2828
* @return {@code true} if {@code leftBracket} and {@code rightBracket} is
29-
* paired, otherwise {@code false}
29+
* paired, otherwise {@code false}
3030
*/
3131
public static boolean isPaired(char leftBracket, char rightBracket) {
3232
char[][] pairedBrackets = {
33-
{'(', ')'},
34-
{'[', ']'},
35-
{'{', '}'},
36-
{'<', '>'},
33+
{ '(', ')' },
34+
{ '[', ']' },
35+
{ '{', '}' },
36+
{ '<', '>' },
3737
};
3838
for (char[] pairedBracket : pairedBrackets) {
3939
if (pairedBracket[0] == leftBracket && pairedBracket[1] == rightBracket) {
@@ -48,7 +48,7 @@ public static boolean isPaired(char leftBracket, char rightBracket) {
4848
*
4949
* @param brackets the brackets
5050
* @return {@code true} if {@code brackets} is balanced, otherwise
51-
* {@code false}
51+
* {@code false}
5252
*/
5353
public static boolean isBalanced(String brackets) {
5454
if (brackets == null) {
@@ -57,24 +57,34 @@ public static boolean isBalanced(String brackets) {
5757
Stack<Character> bracketsStack = new Stack<>();
5858
for (char bracket : brackets.toCharArray()) {
5959
switch (bracket) {
60-
case '(':
61-
case '[':
62-
case '<':
63-
case '{':
64-
bracketsStack.push(bracket);
65-
break;
66-
case ')':
67-
case ']':
68-
case '>':
69-
case '}':
70-
if (bracketsStack.isEmpty() || !isPaired(bracketsStack.pop(), bracket)) {
60+
case '(':
61+
case '[':
62+
case '<':
63+
case '{':
64+
bracketsStack.push(bracket);
65+
break;
66+
case ')':
67+
case ']':
68+
case '>':
69+
case '}':
70+
if (bracketsStack.isEmpty() || !isPaired(bracketsStack.pop(), bracket)) {
71+
return false;
72+
}
73+
break;
74+
default:
7175
return false;
72-
}
73-
break;
74-
default:
75-
return false;
7676
}
7777
}
7878
return bracketsStack.isEmpty();
7979
}
8080
}
81+
/**
82+
* Time Complexity: O(n)
83+
* Space Complexity: O(n)
84+
*
85+
* reasons:
86+
* 1. The time complexity of the isBalanced method is O(n), where n is the
87+
* length of the input string.
88+
* 2. The space complexity of the isBalanced method is O(n), where n is the
89+
* length of the input string.
90+
*/

0 commit comments

Comments
 (0)