Xâu kí tự được gọi là biểu thức nếu nó là rỗng hoặc chỉ chứa các ki tự “(“ và “)” Ví dụ: "((()())())".
Giải thích
def is_valid_expression(expression):
# Khởi tạo ngăn xếp rỗng
stack = []
# Tạo một từ điển để ghép các dấu ngoặc đóng với dấu ngoặc mở tương ứng
matching_parentheses = {')': '(', '}': '{', ']': '['}
# Duyệt qua từng ký tự trong biểu thức
for char in expression:
if char in matching_parentheses.values():
stack.append(char)
elif char in matching_parentheses.keys():
if not stack or stack.pop() != matching_parentheses[char]:
return False
return not stack