码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode Valid Parentheses

时间:2015-02-08 12:55:47      阅读:153      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!