[LeetCode]20. Valid Parentheses

来源:互联网 发布:元数据和数据字典 编辑:程序博客网 时间:2024/03/29 16:25

20. Valid Parentheses

Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.

The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not.


括号匹配的问题,用栈即可,左括号入栈,右括号则出栈比较是否匹配。最后记得检查栈是否为空。

class Solution {public:    bool isValid(string s) {        stack<char> st;        for(int i = 0; i < s.size(); ++i){            char cur = s[i];            if(st.empty() || cur == '(' || cur == '{' || cur == '[')                st.push(cur);            else{                char top = st.top();                if(cur == ')' && top != '(')                    return false;                if(cur == ']' && top != '[')                    return false;                if(cur == '}' && top != '{')                    return false;                st.pop();            }        }        if(st.empty())            return true;        return false;    }};
原创粉丝点击