本文共 800 字,大约阅读时间需要 2 分钟。
那啥,有了上一条博客,这里是针对括号匹配升级版的运用
大括号中括号小括号的正确匹配 用栈就比较简单 C++代码#include#include #include #include using namespace std;const int n=1e6+5;char str[n];int s[n],top;bool check(int t){ if(top==0)return 0; if(s[top]==t) { top--; return 1; } else{ return 0;//return(s[top--]==t); }}int main(){ scanf("%s",str+1); int len=strlen(str+1); for(int i=1;i<=len;++i) { bool ans=1; if(str[i]=='(')s[++top]=1; else if(str[i]=='[')s[++top]=2; else if(str[i]=='{')s[++top]=3; else if(str[i]==')')check(1); else if(str[i]==']')check(2); else if(str[i]=='}')check(3); if(ans==0) { puts("jiu nmb"); return 0; } } if(top!=0) { puts("???"); return 0; } puts("done');}
转载地址:http://lpcki.baihongyu.com/