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();
        }
    }
  • 相关阅读:
    linux shell script
    API Gateway : Kong
    rabbitmq management advance lesson
    Python Base HTTP Server
    linux 笔试题
    dll return a string
    friend class
    GCC 编译使用动态链接库 LD
    设计模式学习(四)——单例模式
    简单聊聊TestNG中的并发
  • 原文地址:https://www.cnblogs.com/skillking/p/9411544.html
Copyright © 2011-2022 走看看