zoukankan      html  css  js  c++  java
  • 有效的括号

    有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合

    2. 左括号必须以正确的顺序闭合

    3. 注意空字符串可被认为是有效字符串

    package leetcode;
    
    import java.util.Stack;
    
    /***
     * [20] 有效的括号
     */
    public class ValidSolution {
        public boolean  isValid(String s){
            if(s == null || s.length() == 0){
                return true;
            }
            if(s.length() % 2 == 1){
                return false;
            }
            Stack<Character> t = new Stack<Character>();
            for(int i= 0 ; i <s.length() ; i++){
                char c= s.charAt(i);
                if (c == '(' || c == '[' || c =='{') {
                    t.push(c);
                }else if(c == ')'){
                    if(t.empty() || t.peek() != '('){
                        return false;
                    }
                    t.pop();
                }else if(c == ']'){
                    if(t.empty() || t.peek() != '['){
                        return false;
                    }
                    t.pop();
                }else if(c == '}'){
                    if(t.empty() || t.peek() != '{'){
                        return false;
                    }
                    t.pop();
                }else{
                    return false;
                }
            }
            return t.empty();
        }
        public static void main(String[] args){
            ValidSolution vs = new ValidSolution();
            boolean a = vs.isValid("([{)}]");
            boolean b=  vs.isValid("([{}])");
            System.out.println(a);
            System.out.println(b);
        }
    }
  • 相关阅读:
    一些想说的事
    化学离子平衡作业偷懒神器
    solution
    SGU 刷题记
    INT128
    # 字典树的指针写法 1.
    CSP-S2 游记
    Tarjan 【整理】
    HGOI 20191106
    20191101
  • 原文地址:https://www.cnblogs.com/goodtest2018/p/14774560.html
Copyright © 2011-2022 走看看