Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Balanced Brackets Coding

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Balanced Brackets Coding. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

JustAnswer's expert response composer accepts expressions containing nested grouping symbols and quoted text. Implement a validator that determines whether every bracket is correctly matched and nested, while ignoring bracket characters inside quoted strings.

Formal Specification

Given a string expression, return True if it is valid and False otherwise. Valid expressions contain matching pairs of (), [], and {}. Brackets must be properly nested. Text outside brackets is allowed. A quoted string begins and ends with either a single quote (') or double quote ("), and brackets inside quoted strings are ordinary characters. A backslash escapes the next character inside a quoted string. An unterminated quoted string makes the expression invalid.

The function must process the expression in one left-to-right pass without removing characters or using regular expressions.

Constraints

  • 0 <= len(expression) <= 10^6
  • expression contains printable ASCII characters
  • Only (), [], and {} are structural brackets
  • A backslash escapes exactly the next character inside a quoted string

Function Signature

def has_balanced_brackets(expression):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output