
In a Google code review for embedded firmware, a common low-level correctness check is verifying that delimiters are balanced before deeper parsing. Write a function that determines whether a source string has valid and properly nested brackets.
A string is valid if every opening bracket has a matching closing bracket of the same type, and brackets close in the correct order. Consider only these bracket characters: (), [], and {}. Ignore all other characters.
codeTrue if the brackets in code are balanced and properly nested; otherwise FalseExample 1
code = "if (a[0] == '{') { return; }"TrueExample 2
code = "([)]"False) appears before ] can close [.0 <= len(code) <= 10^5code may contain ASCII letters, digits, whitespace, operators, and punctuation(, ), [, ], {, } affect validitycode = "if (a[0] == '{') { return; }"OutputTrueWhyIgnoring non-bracket characters leaves a properly nested sequence of brackets.code = "([)]"OutputFalseWhyThe `)` tries to close `(` while `[` is still the most recent unmatched opening bracket.code = "function() { [x + y] }"OutputTrueWhyEach opening bracket is matched by the correct closing bracket in the right order.0 <= len(code) <= 10^5code may contain any printable ASCII charactersOnly the characters '(', ')', '[', ']', '{', '}' affect the resultThe expected solution should run in O(n) timedef is_valid_brackets(code):