C++:检查括号和方括号在字符串中是否平衡(逻辑问题)
如果字符串中的每个‘(’都符合‘)’或‘{’,请检查该字符串。
检查字符串中的每个‘{’是否满足‘}’或‘(’。
例如,您永远不能有这样的字符串";a(a{a)a}a";,但是这样的字符串";a(a{a}a)a";就可以了。
此外,所有左括号和左花括号都必须有匹配的右括号。
如果平衡,该函数将返回TRUE,否则返回FALSE。在过去的几个小时里一直被这个问题难住了。
解决方案
迭代字符串,如果是左方括号,则将std::stack中的字符推入()。如果它是左方括号,请检查堆栈的顶部(),如果它是关联的左方括号,则检查POP(),否则返回False。
相关文章