標(biāo)準(zhǔn)模板庫實(shí)現(xiàn)
學(xué)了標(biāo)準(zhǔn)模板庫,就該用標(biāo)準(zhǔn)模板庫解決問題
#include<iostream>
#include<string>
#include<stack>
using namespace std;
char judge(char c)
? ? {
? ? char cneed;
? ? switch(c)
? ? {
? ? ? ? case '{':cneed='}';break;
? ? ? ? case '[':cneed=']';break;
? ? ? ? case '(':cneed=')';break;
? ? }
? ? return cneed;
}
int main()
{
? ? stack<char> s;
? ? string brackets;
? ? cin>>brackets;
? ? for(int i=0;i<brackets.size();i++)
? ? {
? ? ? ? if(s.empty())
? ? ? ? {
? ? ? ? ? ? s.push(brackets[i]);
? ? ? ? ? ? continue;
? ? ? ? }
? ? ? ? judge(s.top())==brackets[i]?s.pop():s.push(brackets[i]);
? ? }
? ? s.empty()? cout<<"匹配":cout<<"不匹配";
? ? return 0;
}
還有更好的寫法嗎?
2020-03-18
2019-11-05
非常好,再加上空格等非括號(hào)判斷就完美了
2018-12-20