给定以下格式的字符串:
"(1 AND (2 OR 3) AND 4)"
Run Code Online (Sandbox Code Playgroud)
确定"打开"括号的数量"("等于"关闭"括号")"的最快方法是什么.
注意:字符串可能是几百个字符长.
只需使用一个以0开头的简单计数器.
当你遇到"(",将它增加一个.当你遇到")"时,减少一个.
如果计数器最后不是0,则表示您不匹配.
而且,正如其他人所提到的,如果计数器变为负数,这意味着)(已经发生了诸如此类的情况.发出错误信号并停止进一步解析.
将计数器初始化为零.
迭代字符串的字符.
一个.在左括号上,增加计数器.
湾 在右括号中,减少计数器.
C.如果计数器为负,则输出错误.
如果循环后计数器不等于零,则输出错误.
这也可以捕获类似于)(开启和关闭数量的匹配的情况,但无论如何都应该被认为是错误的.