C++:检查括号和方括号在字符串中是否平衡(逻辑问题)

2022-02-26 00:00:00 logic c++
如果字符串中的每个‘(’都符合‘)’或‘{’,请检查该字符串。 检查字符串中的每个‘{’是否满足‘}’或‘(’。

例如,您永远不能有这样的字符串";a(a{a)a}a";,但是这样的字符串";a(a{a}a)a";就可以了。 此外,所有左括号和左花括号都必须有匹配的右括号。

如果平衡,该函数将返回TRUE,否则返回FALSE。在过去的几个小时里一直被这个问题难住了。


解决方案

迭代字符串,如果是左方括号,则将std::stack中的字符推入()。如果它是左方括号,请检查堆栈的顶部(),如果它是关联的左方括号,则检查POP(),否则返回False。

相关文章