使用容器适配器——Stack
如果为左括号就进栈,否则就判断栈顶元素是否与string内容相同。
bool isValid(string s) {
stack<char> mm;
for(char &item : s)
{
if(item == '(' ) mm.push(')');
else if(item =='[') mm.push(']');
else if(item =='{') mm.push('}');
else
{
if(mm.size() == 0 || mm.top() != item )
return false;
else
mm.pop();
}
}
if (mm.size() == 0)
return true;
else return false;
}
【注】:
string mm{'a','b','c'};
mm[0] = 'b'; //mm[0]为char类型