[leetcode][c++] 20. Valid Parentheses 有效的括号
题目描述:
这是大二上数据结构课时的一个比较简单的问题,就是括号的匹配,要注意的几点就是:()[]正确,{() } 也是正确的,主要计时按照顺序的匹配,用到的就是栈的知识,具体的代码为:
class Solution {
public:
bool isValid(string s) {
vector<char> stack;
for(int i = 0; i < s.length(); i++){
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
stack.push_back(s[i]);
else if(stack.size() == 0)
return false;
if(s[i] == ')')
if(stack[stack.size()-1] == '(')
stack.pop_back();
else
return false;
if(s[i] == ']')
if(stack[stack.size()-1] == '[')
stack.pop_back();
else
return false;
if(s[i] == '}')
if(stack[stack.size()-1] == '{')
stack.pop_back();
else
return false;
}
if(stack.size() == 0)
return true;
else
return false;
}
};