Skip to main content
PreparationZone Logo
PreparationZone
Back to Fundamentals

Fundamentals · Easy · Free

Check balanced parentheses using a stack.

FresherFundamentalsData Structures & Algorithms
Model answer

Balanced parentheses

Push opening brackets; on closing, match top of stack. Empty stack at end means valid.

java
boolean isValid(String s) {
  Deque<Character> st = new ArrayDeque<>();
  for (char c : s.toCharArray()) {
    if (c == '(' || c == '[' || c == '{') st.push(c);
    else {
      if (st.isEmpty()) return false;
      char o = st.pop();
      if (c == ')' && o != '(') return false;
      if (c == ']' && o != '[') return false;
      if (c == '}' && o != '{') return false;
    }
  }
  return st.isEmpty();
}
Map open→close for cleaner code in follow-ups.