判断括号是否匹配
判斷一串包含'('')''['']',{‘ ’}‘’括號的字符串是否匹配
#include<iostream> #include<string> #include<sstream> #include<stack> using namespace std; int main() {string str = "dfa(sdfdf[dag(hh)sj]";int len = str.size();stack<char> temp;bool flag = true;;for (int i = 0; i < len; i++){if ((str[i] == '{') || (str[i] == '[') || (str[i] == '('))temp.push(str[i]);else if (str[i] == ')'){if (!temp.empty()){char tem = temp.top();temp.pop();if (tem != '('){flag = false;break;}}else{flag = false;break;}}else if (str[i] == ']'){if (!temp.empty()){char tem = temp.top();temp.pop();if (tem != '['){flag = false;break;}}else{flag = false;break;}}else if (str[i] == '}'){if (!temp.empty()){char tem = temp.top();temp.pop();if (tem != '{'){flag = false;break;}}else{flag = false;break;}}}if (!temp.empty())flag = false;cout << flag;system("pause");return 0; }
總結
- 上一篇: Reverse Vowels of a
- 下一篇: 正数减法