题解 | 括号配对问题
括号配对问题
https://www.nowcoder.com/practice/57260c08eaa44feababd05b328b897d7
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
string s;
getline(cin,s);
stack<char> st;
if(s.empty())
{
cout<<"true"<<endl;
return 0;
}
for(int i=0;i<s.size();i++)
{
if(s[i]=='['||s[i]=='(')
{
st.push(s[i]);
}
else if(s[i]==']'||s[i]==')')
{
if(st.empty())
{
cout<<"false"<<endl;
return 0;
}
if((st.top()=='[')&&(s[i]==']'))
{
st.pop();
}
else if((st.top()=='(')&&(s[i]==')'))
{
st.pop();
}
else {
cout<<"false"<<endl;
return 0;
}
}
}
if(st.empty())
{
cout<<"true"<<endl;
}
else {
cout<<"false"<<endl;
}
return 0;
}
腾讯音乐娱乐集团公司福利 285人发布