题目
- 题目参考网址:https://vjudge.net/problem/UVA-673
- 大意:
实现匹配“[”,“]”和“(”,“)”,判断输入是否合法。
知识点
- 栈的应用
思路
设置一个栈,输入的括号序列从尾开始匹配,
- 若和栈顶括号匹配,则pop()出当前符号字符(第一个括号字符直接放入)。
- 若不匹配,则将当前位置的括号也压入栈。
直到括号序列遍历完毕,若栈中仍然有多的括号序列,则说明当前的括号序列不是合法输入序列。
代码
# include <iostream>
# include <cstdio>
# include <vector>
# include <stack>
using namespace std;
vector <string> ans;
bool is_paired(char a, char b) {
if (a == '[')
return b == ']';
<

该博客讨论了如何实现括号匹配算法,通过使用栈数据结构从字符串尾部开始进行匹配。文章提供了详细的代码实现,并给出了具体例子来解释算法工作原理。在测试案例中,算法能够正确判断括号序列是否合法,对于非法输入序列会返回错误提示。
最低0.47元/天 解锁文章
771





