[LeetCode] Valid Parentheses

来源:互联网 发布:阳西县官方网络问政 编辑:程序博客网 时间:2024/06/13 18:40

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) {        int len=s.length();        stack<char> st;        for(int i=0; i<len; i++){            switch(s[i]){                case '(':                case '{':                case '[':                    st.push(s[i]);                    break;                case '}':                    if(st.empty()||st.top()!='{'){                        return false;                    }                    st.pop();                    break;                case ']':                    if(st.empty()||st.top()!='['){                        return false;                    }                    st.pop();                    break;                case ')':                    if(st.empty()||st.top()!='('){                        return false;                    }                    st.pop();                    break;                default:                    return false;            }        }                return st.empty();    }};

0 0
原创粉丝点击