diff --git a/u6/matching_brackets.py b/u6/matching_brackets.py new file mode 100644 index 0000000..9d3c65c --- /dev/null +++ b/u6/matching_brackets.py @@ -0,0 +1,18 @@ +def is_paired(seq: str) -> bool: + stack = [] + + open_brackets = "([{" + close_brackets = ")]}" + + for ch in seq: + if(ch in open_brackets): + stack.append(ch) + continue + + matched_closed = close_brackets.find(ch) + if(matched_closed != -1): + if(not len(stack) or stack[-1] != open_brackets[matched_closed]): + return False + else: + stack.pop() + return not len(stack) \ No newline at end of file