c++ - 是否有有助于计算括号的 C++ 函数?

标签 c++ string parentheses

例如,如果输入是“(A + (BC))(giggity (this text) isn't in the expression)”,它将返回 (0, 9),因为第一个括号在 0 和第二个是 9 号?

如果没有,请告诉我如何构造一个以字符串为参数的函数,这样我就可以自己做。

最佳答案

通常使用堆栈找到匹配的括号:从左到右遍历字符串,当找到开始的一个时,将当前位置压入堆栈,当找到结束的一个时,从堆栈中弹出值。弹出的值将是匹配左括号的位置。

关于c++ - 是否有有助于计算括号的 C++ 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572419/

相关文章:

.net - 用于删除由有序字符集组成的嵌套括号的平衡匹配正则表达式是什么?

java - 为什么Java对不同括号的分数给出不同的答案

C++ 调用类成员变量 "attributes"是否正确?

c++ - 如果被指针引用,非动态变量什么时候会超出范围?

c - 从 fgets() 输入中删除尾随换行符

c - 基于 GCC 的 SIGSEGV 错误?

java - 如何匹配具有()或(任何字符)java的字符串

c++ - OpenGL 模板测试发生在片段程序运行之前还是之后?

c++ - 如何在 x86 和 x64 平台之间使用 boost::serialization

javascript - 句子代码中最长的单词不起作用