首页 > 代码库 > Valid Parentheses

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.

代码:

stack<char> char_stack;
    for(int i = 0;i < s.length();i++)
    {
        if(s[i] == '(' || s[i] == '{' || s[i] == '[')
            char_stack.push(s[i]);
        else
        {
            if(char_stack.empty())
                return false;
            char top = char_stack.top();
            char_stack.pop();
            if(s[i] == ')' && top == '(')
                continue;
            else if(s[i] == '}' && top == '{')
                continue;
            else if(s[i] == ']' && top == '[')
                continue;
            else
                return false;
        }
    }
    if(char_stack.empty())
        return true;


Valid Parentheses