zoukankan      html  css  js  c++  java
  • LeetCode#20-有效的括号

    import java.util.Stack;
    
    /*
    20. 有效的括号
    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
    
    有效字符串需满足:
    
    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
    注意空字符串可被认为是有效字符串。
    
    示例 1:
    
    输入: "()"
    输出: true
    示例 2:
    
    输入: "()[]{}"
    输出: true
    示例 3:
    
    输入: "(]"
    输出: false
    示例 4:
    
    输入: "([)]"
    输出: false
    示例 5:
    
    输入: "{[]}"
    输出: true
         思路:
              左括号压入栈,
              右括号时候查看栈顶
     */
    public class p20 {
        public static boolean isValid(String s) {
            char []arr=s.toCharArray();
            if(s.length()%2==1)return false;
            System.out.println(00000000000000);
            Stack<Character> stack=new Stack<Character>();
            System.out.println(1111111111);
            for(int i=0;i<arr.length;i++){
                if(arr[i]=='('||arr[i]=='['||arr[i]=='{'){
                    stack.push(arr[i]);
                    System.out.println(stack.peek());
                }
                else{
                    if(!stack.isEmpty()){
                        if(arr[i]==')'){
                            System.out.println(stack.peek());
                            char ch=stack.pop();
    
                            System.out.println(ch);
                            if(ch!='(')return false;
                        }
                        else if(arr[i]==']'){
                            char ch=stack.pop();
                            if(ch!='[')return false;
                        }
                        else if(arr[i]=='}'){
                            char ch=stack.pop();
                            if(ch!='{')return false;
                        }
                        else return false;
                    }
                    else return false;
    
                }
    
            }
            if(stack.isEmpty())return true;
            return false;
    
        }
    
        public static void main(String[] args) {
            System.out.println(isValid("("));
        }
    
  • 相关阅读:
    hdu_1072_Nightmare(BFS)
    hdu_4826_Labyrinth_2014百度之星(dp)
    hdu_4823_Energy Conversion
    hdu_3063_Play game
    hdu_3062_Party(2-SAT)
    5、1 部署
    klayge 4.2.0 编译vc9
    数据延迟加载
    指令 scope
    指令 作用域
  • 原文地址:https://www.cnblogs.com/jifeng0902/p/13254321.html
Copyright © 2011-2022 走看看