知道原理,不会写代码。c++容器没有学,vectorstack; stack.push_back(’ ‘); 不会调用这几个函数,所以代码看解答写出来的。
bool isValidParentheses(string &s) {
// write your code here
vector<char>stack;
stack.push_back(' ');
for(int i=0;i<s.size();i++)
{
char item=s[i];
if(item == '(' || item =='[' || item=='{')
stack.push_back(item);
else
{
if(item == ')')
{
if(stack.back() == '(')
stack.pop_back();
else
return false;
}
if(item == ']')
{
if(stack.back()== '[')
stack.pop_back();
else
return false;
}
if(item == '}')
{
if(stack.back()== '{')
stack.pop_back();
else
return false;
}
}
}
if(stack.back() != ' ')
return false;
return true;
}