def is_valid(string): stack = [] hashmap = {")": "(", "}": "{", "]": "["} for char in string: if char not in hashmap: stack.append(char) else: if stack: popped_element = stack.pop() else: popped_element = "*" if hashmap[char] != popped_element: return False return not stack # Driver code def main(): inputs = ["(){}[]", "{}[]{}[{}])", "(){[{()}]}", "))){{}}}]]", "{[()}"] for i in range(len(inputs)): print(i + 1, ". Input string = ", inputs[i], sep="") print(" Valid parentheses = ", is_valid(inputs[i]), sep="") print("-" * 100) if __name__ == "__main__": main()