let 课程地址 = " http://icourse8.com/SparkStreaming.html ";

章节信息
第1章 课程介绍
第2章 初识实时流处理
第4章 分布式发布订阅消息系统Kafka
第5章 实战环境搭建
第6章 Spark Streaming入门
第7章 Spark Streaming核心概念与编程
第8章 Spark Streaming进阶与案例实战
第9章 Spark Streaming整合Flume
第10章 Spark Streaming整合Kafka
第11章 Spark Streaming整合Flume&Kafka打造通用流处理基础
第12章 Spark Streaming项目实战
第13章 可视化实战
第14章 Java拓展
第15章 补充内容

class Solution {
    public boolean isValid(String s) {
        Stack stack = new Stack<>();
        char[] chars = s.toCharArray();
        for (char aChar : chars) {
            if (stack.size() == 0) {
                stack.push(aChar);
            } else if (isSym(stack.peek(), aChar)) {
                stack.pop();
            } else {
                stack.push(aChar);
            }
        }
        return stack.size() == 0;
    }

    private boolean isSym(char c1, char c2) {
        return (c1 == '(' && c2 == ')') || (c1 == '[' && c2 == ']') || (c1 == '{' && c2 == '}');
    }
}