Skip to content

Instantly share code, notes, and snippets.

@zevaverbach
Created December 17, 2018 19:17
Show Gist options
  • Save zevaverbach/a12b620b5a9efa0b8859a90e1721daea to your computer and use it in GitHub Desktop.
Save zevaverbach/a12b620b5a9efa0b8859a90e1721daea to your computer and use it in GitHub Desktop.
braces.py
MATCHED_LOOKUP = {k: v for k, v in ["()", "[]", "{}"]}
def is_valid(string):
open_braces = []
for char in string:
if char in MATCHED_LOOKUP:
open_braces.append(char)
else:
if not open_braces or MATCHED_LOOKUP[open_braces.pop()] != char:
return False
return len(open_braces) == 0
for s in ["{}", "{[()]}({})", "{[}]", "{]}", "{[]}", "[]{", "{{}"]:
print(s)
print(is_valid(s))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment