A30384. 采用如下代码实现检查输入的字符串括号是否匹配,横线上应填入的代码为( )。#include <iostream>#include <stack>#include <string>using namespace std;bool is_valid(string s) { stack<char> st; char top; for (char& ch : s) { if (ch == '(' || …
单选题
困难
知识点
题目描述
采用如下代码实现检查输入的字符串括号是否匹配,横线上应填入的代码为( )。
#include <iostream>
#include <stack>
#include <string>
using namespace std;
bool is_valid(string s) {
stack<char> st;
char top;
for (char& ch : s) {
if (ch == '(' || ch == '{' || ch == '[') {
st.push(ch);
// 左括号入栈
} else {
if (st.empty())
return false;
———————————— // 在此处填入代码
if ((ch == ')' && top != '(') ||
(ch == '}' && top != '{') ||
(ch == ']' && top != '[')) {
return false;
}
}
}
return st.empty(); // 栈为空则说明所有括号匹配成功
}
选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题