使用栈实现括号匹配检验代码
时间: 2024-10-09 20:04:25 浏览: 22
使用栈实现括号匹配检验的代码,可以按照以下步骤实现:
1. 定义一个字符类型的栈,用于存储左括号。
2. 遍历待检验的字符串,如果当前字符是左括号,则将其入栈;如果是右括号,则判断栈是否为空,若为空则说明缺少左括号与之匹配,返回 false;若不为空,则将栈顶元素出栈并判断是否与当前右括号匹配,若不匹配则返回 false。
3. 遍历完字符串后,若栈为空,则说明所有括号都有匹配的左右括号;否则说明缺少右括号与之匹配,返回 false。
下面是使用 C++ 实现的示例代码:
```
bool isParenthesesMatched(string s) {
stack<char> st;
for (char c : s) {
if (c == '(' || c == '[' || c == '{') {
st.push(c);
} else if (c == ')') {
if (st.empty() || st.top() != '(') {
return false;
}
st.pop();
} else if (c == ']') {
if (st.empty() || st.top() != '[') {
return false;
}
st.pop();
} else if (c == '}') {
if (st.empty() || st.top() != '{') {
return false;
}
st.pop();
}
}
return st.empty();
}
```
阅读全文