LintCode_有效的括号序列

问题描述:

LintCode_有效的括号序列_第1张图片

算法设计:

此题的关键点在于栈的使用;是先入后出的特点,像叠积木一样,往栈中添加元素时,从下往上一层层添加;而将栈中的元素删除时,则从顶往下删除,每次最先删除的肯定栈顶元素;

    public static boolean isValidParentheses(String s) {
        
        //如果s为空或者长度为0或者长度为奇数,括号肯定不匹配
        if(s==null||s.length()==0||s.length()%2!=0){
            return false;
        }
        
        //定义一个装载char类型数据的栈,栈也是属于集合,装载对象,而不能直接装载基本数据类型
        Stack stack=new Stack();
        //java.lang.Integer int
        //java.lang.Character char
        //java.lang.Double double
        //java.lang.Float float
        //java.lang.Boolean boolean
        //标志,也是最终返回的结果
        boolean flag=true;
        
        //从s的第一个字符开始遍历
        for(int i=0;i

注:关于栈的使用可以参考一下链接:

点击打开链接

你可能感兴趣的:(学习日志)