使用堆栈而不是计数器,我们如何编写将输入作为输入的C ++函数checkParens 字符串,用圆括号表示某个表达式,如果 括号匹配,否则为false
答案 0 :(得分:0)
1)声明一个字符堆栈S。
2)现在遍历表达式字符串exp。
a)如果当前字符是一个起始括号(“(”或“ {”或“ [”),则将其压入堆栈。
b)如果当前字符是右括号(')'或'}'或']'),则从堆栈中弹出,如果弹出的字符是匹配的起始括号,则否则括号不平衡。
3)完成遍历后,如果堆栈中还有一些起始括号,则“不平衡”
时间复杂度:O(n)
辅助空间:堆栈的O(n)。
https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/