括号是否正确匹配
输入:只含有 { }[ ]( ) 的字符串
输出:true false
思路:左部分压栈,右部分出栈
遍历结束全部出栈且正确返回true
否则返回false
bool isValid(string s) {
stack<char> charStack;
for(char c: s){
switch(c){
case '{':
case '[':
case '(':
charStack.push(c);
break;
case '}':
if(charStack.empty()||charStack.top()!= '{')
return false;
charStack.pop();
break;
case ']':
if(charStack.empty()||charStack.top()!= '[')
return false;
charStack.pop();
break;
case ')':
if(charStack.empty()||charStack.top()!= '(')
return false;
charStack.pop();
break;
}
}
return charStack.empty();
}
执行用时 : 8 ms, 在Valid Parentheses的C++提交中击败了17.41% 的用户
内存消耗 : 8.9 MB, 在Valid Parentheses的C++提交中击败了0.93% 的用户
让我们来看一下0ms范例。。。。算了不用看了,和我的一样。
果然leetcode在针对我,nmdwsm