首页 > 其他 > 详细

valid Parentheses

时间:2019-08-29 21:53:00      阅读:70      评论:0      收藏:0      [点我收藏+]

Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.

An input string is valid if:

Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order. Note that an empty string is also considered valid.

Example 1:

Input: “()” Output: true Example 2:

Input: “()[]{}” Output: true Example 3:

Input: “(]” Output: false Example 4:

Input: “([)]” Output: false Example 5:

Input: “{[]}” Output: true

 

class Solution{
    public:
        bool isValid(string const& s){
            string left = "([{";
            string right = ")]}";
            stack<char> stk;
            
            for(auto c:s){
                if(left.find(c) != string::npos){
                    stk.push(c);
                }
                else{
                    if(stk.empty() || stk.top() != left[right.find(c)])
                        return false;
                    else
                        stk.pop();
                }
            }
            return stk.empty();
        }
};

 

valid Parentheses

原文:https://www.cnblogs.com/hujianglang/p/11432190.html

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