C++を使って、スタックを使って括弧マッチング問題を解決します.
983 ワード
#include
#include
#include
using namespace std;
bool Judge(string str) { //
stack s;
for (int i = 0; i < str.length(); i++) {
switch (str[i]) {
case '(':
s.push('(');
break;
case '[':
s.push('[');
break;
case '{':
s.push('{');
break;
case ')':
if (s.top() == '(') {
s.pop();
}
else {
return false;
}
break;
case ']':
if (s.top() == '[') {
s.pop();
}
else {
return false;
}
break;
case '}':
if (s.top() == '{') {
s.pop();
}
else {
return false;
}
break;
}
}
if (s.empty()) {
return true;
}
else {
return false;
}
}
int main() {
string str;
cin >> str;
cout << Judge(str) << endl;
system("pause");
return 0;
}
/*
[([][])]{()}
[(){]}
*/