Valid Parentheses Check

Check if parentheses are balanced.

Logic BuildingAdvanced
Logic Building
# Take string
s = input("Enter string with parentheses: ")

# Check balance
stack = []
valid = True
for char in s:
    if char in '([{':
        stack.append(char)
    elif char in ')]}':
        if not stack:
            valid = False
            break
        top = stack.pop()
        if (char == ')' and top != '(') or            (char == ']' and top != '[') or            (char == '}' and top != '{'):
            valid = False
            break

if stack:
    valid = False

print("Valid" if valid else "Invalid")

Output

Enter string with parentheses: ()[]{}
Valid

Use stack to match opening and closing.

Key Concepts:

  • Push opening brackets
  • Pop and match closing brackets
  • Check stack empty at end