1这是栈的应用,括号匹配的检验
2输入(([]))#,输出匹配,注意输入以’#’表示结束.
3大家多试几个检验一下。
#include <cstdio>
#include <string>
char Stack[100000];
int top;
using namespace std;
int judgeing(char ch)
{
if((ch==']')&&(Stack[top]=='['))return 1;
if((ch==')')&&(Stack[top]==')'))return 1;
return 0;
}
int checking()
{
top=0;
char s=getchar();
while(s!='#')
{
if(judgeing(s))top--;
else
if((s='(')||(s='['))
Stack[top++]=s;
else return 0;
s=getchar();
}
if(top==0)return 0;
else return 1;
}
int main()
{
if(checking())printf("Yes");
else printf("No");
return 0;
}