例如,如果输入是“(A + (BC))(giggity (this text) isn't in the expression)”,它将返回 (0, 9),因为第一个括号在 0 和第二个是 9 号?
如果没有,请告诉我如何构造一个以字符串为参数的函数,这样我就可以自己做。
最佳答案
通常使用堆栈找到匹配的括号:从左到右遍历字符串,当找到开始的一个时,将当前位置压入堆栈,当找到结束的一个时,从堆栈中弹出值。弹出的值将是匹配左括号的位置。
关于c++ - 是否有有助于计算括号的 C++ 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572419/