首页 > 其他 > 详细

LeetCode Valid Parentheses

时间:2015-02-08 12:54:05      阅读:266      评论:0      收藏: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.size(); i++) {
            if (s[i] == ')' || s[i] == ']' || s[i] == '}') {
                if (st.empty())
                    return false;
                else {
                    char tmp = st.top();
                    st.pop();
                    if ((tmp == '(' && s[i] != ')') || (tmp == '[' && s[i] != ']') || (tmp == '{' && s[i] != '}'))
                        return false;

                }
            } else st.push(s[i]);
        }

        if (!st.empty())
            return false;
        return true;
    }
};





LeetCode Valid Parentheses

原文:http://blog.csdn.net/u011345136/article/details/43636281

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!