zoukankan      html  css  js  c++  java
  • 20. Valid Parentheses

    一、题目

      1、审题

        

       2、分析:

        返回括号组成的字符串其中的括号是否都能正确闭合。

    二、解答

      1、分析:

        方法一:

          用栈实现。

          左括号进栈;

          右括号时栈顶出栈并判断是否匹配。最终判断栈是否为空即可。

      

    class Solution {
        public boolean isValid(String s) {
    
            Stack<Character> stack = new Stack<Character>();
            int len = s.length(), index = 0;
    
            while(index < len) {
                char c = s.charAt(index++);
                if(c == '(' || c == '[' || c == '{')
                    stack.push(c);
                else if(c == ')') {
                    if(!stack.isEmpty() && stack.peek() == '(')
                        stack.pop();
                    else
                        return false;
                }
                else if(c == ']') {
                    if(!stack.isEmpty() && stack.peek() == '[')
                        stack.pop();
                    else
                        return  false;
                }
                else if(c == '}') {
                    if(!stack.isEmpty() && stack.peek() == '{')
                        stack.pop();
                    else
                        return false;
                }
            }
    
            return  stack.isEmpty();
        }
    }

        方法二:

          用栈实现。

          左括号时,入栈对应的右括号;

          右括号时,栈顶出栈并判断是否与该右括号一致

      

    public class Solution {
        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();
        }
    }
  • 相关阅读:
    npm中package-lock.json的作用:npm install安装时使用
    git回退到某个commit
    如何把自己的代码发布到npmjs(npm publish)
    阿里蚂蚁的前端ant-design
    axure产品原型图,元件库导入方法
    react with JSX for {if…else…}
    JavaScript的filter用法
    ES6中的模板字符串---反引号``
    react数组key的唯一性
    Swagger简介,轻松构造restful api的文档
  • 原文地址:https://www.cnblogs.com/skillking/p/9411544.html
Copyright © 2011-2022 走看看