leetcode:Valid Parentheses

来源:互联网 发布:ubuntu vs2013 编辑:程序博客网 时间:2024/05/17 06:45
题目描述:

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.


accepted code with c++:

class Solution {public:    bool isValid(string s) {        stack<char> parenthese;        bool flag = true;        for(int i = 0;i < s.size(); i++)        {            if(s[i] == '('||s[i] == '['||s[i] == '{')                 parenthese.push(s[i]);            if(s[i] == ')'||s[i] == ']'||s[i] == '}')            {                if(!parenthese.empty())                {                    if(isPair(parenthese.top(),s[i]) )                    {                        parenthese.pop();                    }                    else                    {                        flag = false;                        break;                    }                }                else                {                    flag = false;                    break;                }            }        }        if(!parenthese.empty())        flag = false;        return flag;    }    bool isPair(char s1, char s2)    {        if((s1 == '(' &&s2 == ')') ||(s1 == '[' &&s2 == ']') ||(s1 == '{' &&s2 == '}'))        return true;        else        return false;    }};

0 0
原创粉丝点击