zoukankan      html  css  js  c++  java
  • Valid Parentheses

    package cn.edu.xidian.sselab.string;

    import java.util.Stack;

    /**
     *
     * @author zhiyong wang
     * title: Valid Parentheses
     * content:
     *     Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
     *
     * The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
     *
     */
    public class ValidParentheses {

        //这个题既然是成对出现的,第一个想到的就应该是栈,成对用栈的出入来表示,只要是匹配成功就弹栈,这样栈最后就为空,弹的元素一定是与之匹配的元素
        public boolean isValid(String s){
            int len = s.length();
            if(s == null || len < 2) return false;
            Stack stack = new Stack();
            char temp;
            for(int i=0;i<len;i++){
                if(s.charAt(i) == '(' || s.charAt(i) == '[' || s.charAt(i) == '{')
                    stack.push(s.charAt(i));
                if(s.charAt(i) == ')'){
                    if(stack.isEmpty() || (char) stack.pop() != '(') return false;
                }
                if(s.charAt(i) == ']'){
                    if(stack.isEmpty() || (char) stack.pop() != '[') return false;
                }
                if(s.charAt(i) == '}'){
                    if(stack.isEmpty() || (char) stack.pop() != '{') return false;
                }
            }
            return stack.isEmpty();
        }
    }

  • 相关阅读:
    CF932E Team Work
    BZOJ 4480 [JSOI2013] 快乐的jyy
    CF285E Positions in Permutations
    P4312 [COCI 2009] OTOCI / 极地旅行社
    P3327 [SDOI2015]约数个数和
    P3649 [APIO2014]回文串
    P3181 [HAOI2016]找相同字符
    P3346 [ZJOI2015]诸神眷顾的幻想乡
    P4248 [AHOI2013]差异
    P4512 【模板】多项式除法
  • 原文地址:https://www.cnblogs.com/wzyxidian/p/5217432.html
Copyright © 2011-2022 走看看