括号配对(用栈实现)

来源:互联网 发布:c语言可以用来做什么 编辑:程序博客网 时间:2024/06/15 19:30
#include<iostream>#include<cstdio>#include<stack>using namespace std;int main(){char ch;stack<char>mystack;bool isMatching = true;while ((ch=getchar())!='\n'){switch (ch){case '(':case '[':mystack.push(ch);break;case ']':{if (mystack.empty()||mystack.top() != '[')//先判空 再检查isMatching = false;elsemystack.pop();break;}case ')':{if (mystack.empty()||mystack.top() !=  '(')isMatching = false;elsemystack.pop();break;}}if (!isMatching)break;}if(!mystack.empty())        isMatching=false;if (isMatching)cout << "OK" << endl;elsecout << "不OK" << endl;return 0;}