题解 | #有效括号序列#

有效括号序列

http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        vector<char> vec;
        vec.clear();//clean up dirty data
        int len = s.length();
        char c;
        for(int i = 0; i < len; i++){
            if(s[i] == '(' || s[i] == '{' || s[i] == '['){
                vec.push_back(s[i]);
            }else if(vec.size() != 0){//防止第一个就是)、}、]
                switch (s[i])
                {
                case ')' :{
                    c = vec.back();
                    vec.pop_back();
                    if(c != '('){
                        return false;
                    }
                    break;
                }
                case '}' :{
                    c = vec.back();
                    vec.pop_back();
                    if(c != '{'){
                        return false;
                    }
                    break;
                }
                case ']' :{
                    c = vec.back();
                    vec.pop_back();
                    if(c != '['){
                        return false;
                    }
                    break;
                }
                default:
                    break;
                }
            }else{
                return false;
            }
        }
        if(vec.size() == 0){//括号全匹配了
            return true;
        }else{
            return false;
        }
        
    }
};

全部评论

相关推荐

投递拓竹科技等公司10个岗位
点赞 评论 收藏
分享
码砖:求职岗位要突出,一眼就能看到,教育背景放到最后,学校经历没那么重要,项目要重点突出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务