括号配对问题
来源:互联网 发布:ubuntu 删除文件 编辑:程序博客网 时间:2024/06/07 18:12
括号配对问题
1.基本思想
栈的应用:
算法思想
1.顺序扫描字符串
2.当栈为空的时候该字符入栈
3.当该字符与栈顶字符匹配时退出栈顶,否则入栈
4.当字符串扫描完时判断栈是否为空,栈为空就说明括号匹配,否则括号不匹配
2.c语言代码实现
#include<cstdio>
//cstdio是标准C++
//cstdio是将stdio.h的内容用C++头文件的形式表示出来
//cstdio中的函数都是定义在一个名称空间std里面的
//如果要调用这个名字空间的函数 必须得加std::
或者在文件中声明using namespace std
#include<stack>
//C语言中引用栈的头文件格式
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
char s[10001];
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s",s);
int len=strlen(s);
if(len%2!=0)
printf("No\n");
else
{
stack<char> q; //声明栈q
for(int i=0; i<len; i++)
{
if(q.empty())
q.push(s[i]); //元素进栈
else if(s[i]==']'&&q.top()=='[')
{
q.pop(); //栈顶元素出栈
}
else if(s[i]==')'&&q.top()=='(')
{
q.pop();
}
else
q.push(s[i]);
}
if(q.empty())
printf("Yes\n");
else
printf("No\n");
}
}
return 0;
}
- 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- NYOJ - 括号配对问题
- nyoj 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- 括号配对问题
- [ACM]括号配对问题
- NYOJ2 括号配对问题
- 括号配对问题
- 2 括号配对问题
- 括号配对问题
- 括号配对问题
- 【括号配对问题 2】
- Java1.7新特性
- ThreadPoolExecutor线程池参数设置技巧
- 通过例子学设计模式之--外观模式以及使用场景说明(C++实现)
- 重要文件写操作请用FileOutputStream,FileWriter有坑
- 实现在html上点击一个按钮出现一张照片
- 括号配对问题
- Linux netstat命令详解
- HttpClient在HTTP协议接口测试中的使用
- 轻钢别墅与旅游景区的完美结合
- smartctl工具学习网站
- 根据key取Jsonobject中value
- 自定义控件之按照数据百分比画圆环
- 为什么我推荐ImageJ?
- 【Owin 学习系列】1. 第一个 Owin 程序