题解 | #括号序列#

括号序列

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

比较好理解的方式,直观按照题意结题:

public boolean isValid (String s) {
    // write code here
    // 奇数一定不合法
    int len = s.length();
    if((len & 1) == 1) return false;
    Deque<Character> stack = new ArrayDeque<>();
    for (int i = 0; i < len; i++) {
        char cur = s.charAt(i);
        if(cur == '(' || cur == '{' || cur == '['){
            stack.push(cur);
        }else{
            if(stack.isEmpty()) return false;
            char top = stack.peek();
            if(cur == ')' && top == '('){
                stack.pop();
            }else if(cur == '}' && top == '{'){
                stack.pop();
            }else if(cur == ']' && top == '['){
                stack.pop();
            }else{
                return false;
            }
        }
    }
    return stack.isEmpty();
}
全部评论

相关推荐

06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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