zoukankan      html  css  js  c++  java
  • LeetCode 20 Valid Parentheses (括号匹配问题)

     
    Problem: 括号匹配问题。
      使用栈,先进后出!
     
    参考代码1:
    package leetcode_50;
    
    
    import java.util.Stack;
    
    /***
     * 
     * @author pengfei_zheng
     * 括号匹配问题
     */
    public class Solution20 {
        public static boolean isValid(String s) {
            Stack<Character> stack = new Stack<>();
            int len = s.length();
            for(int i=0;i<len;i++){
                    char c = s.charAt(i);
                    if(c=='(' || c=='{' || c=='[') stack.push(c);
                    if(c==')'){
                        if(stack.isEmpty())
                            return false;
                        else if('('!=stack.pop())
                            return false;
                    }
                    if(c=='}'){
                        if(stack.isEmpty())
                            return false;
                        else if('{'!=stack.pop())
                            return false;
                    }
                    if(c==']'){
                        if(stack.isEmpty())
                            return false;
                        else if('['!=stack.pop())
                            return false;
                    }
            }
            if(!stack.isEmpty())
                    return false;
            else 
                    return true;
        }
        public static void main(String[]args){
            String s="[[(])]";
            System.out.println(isValid(s));
        }
    }
    View Code

    参考代码2:

    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<Character>();
        for (char c : s.toCharArray()) {
            if (c == '(')
                stack.push(')');
            else if (c == '{')
                stack.push('}');
            else if (c == '[')
                stack.push(']');
            else if (stack.isEmpty() || stack.pop() != c)
                return false;
        }
        return stack.isEmpty();
    }
  • 相关阅读:
    「2019纪中集训Day20」解题报告
    PHP基础入门
    javascript
    正则表达式
    DOM 节点
    对象
    字符串
    函数
    for循环
    jQuery
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/6518905.html
Copyright © 2011-2022 走看看