关闭

Leetcode 20 Valid Parentheses

729人阅读 评论(0) 收藏 举报
分类:

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.length();i++)
        {
            if(s[i]=='(' || s[i]=='[' || s[i]=='{')
                st.push(s[i]);
            else
            {
                if(st.empty()) return false;
                if((s[i]==')' && st.top()=='(') || (s[i]==']' && st.top()=='[') || (s[i]=='}' && st.top()=='{'))
                    st.pop();
                else
                    return false;
            }
        }
        return st.empty();
    }
};


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:314630次
    • 积分:6144
    • 等级:
    • 排名:第4051名
    • 原创:285篇
    • 转载:11篇
    • 译文:0篇
    • 评论:44条
    博客专栏
    文章分类
    最新评论