以下代码用于检查字符串中的括号是否匹配,横线上应填写( )。
bool isBalanced(string s) {
stack<char> st;
for (char c : s) {
if (c == '(' || c == '[' || c == '{') {
st.push(c);
} else {
if (st.empty()) return false; // 无左括号匹配
char top = st.top();
st.pop();
if ((c == ')' && top != '(') ||
(c == ']' && top != '[') ||
(c == '}' && top != '{')) {
return false;
}
}
}
return _______________; // 在此处填入代码
}根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。
填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。
【考点】栈的应用|函数返回值逻辑
考查 GESP 六级大纲「数据结构」模块中的栈应用。命题人刻意在循环结束后才设问,就是要卡住绝大多数考生「栈空判定」这一失分点——他们往往只背「括号匹配用栈」的结论,却忽视栈必须为空才表示所有左括号都有右括号配对。