zoukankan      html  css  js  c++  java
  • LeetCode20- 有效的括号

    给定一个只包括 '('')''{''}''['']' 的字符串,判断字符串是否有效。

    有效字符串需满足:

    1. 左括号必须用相同类型的右括号闭合。
    2. 左括号必须以正确的顺序闭合。

    注意空字符串可被认为是有效字符串。

    示例 1:

    输入: "()"
    输出: true
    

    示例 2:

    输入: "()[]{}"
    输出: true
    

    示例 3:

    输入: "(]"
    输出: false
    

    示例 4:

    输入: "([)]"
    输出: false
    

    示例 5:

    输入: "{[]}"
    输出: true

    代码:

    class Solution {
        public boolean isValid(String s) {
            int n = s.length();
            if ( n == 0 ) {
                return true;
            }
            if ( n == 1 ) {
                return false;
            }
            Stack<Character> stack = new Stack<>();
            for ( int i = 0 ; i < n ; i++ ) {
                if ( !stack.empty() ) {
                    if ( match( stack.peek() , s.charAt(i) ) ) {
                        stack.pop();
                    }
                    else {
                        stack.push( s.charAt(i) );
                    }
                }
                else {
                    stack.push( s.charAt(i) );
                }
            }
            return stack.empty();
        }
        
        public boolean match( char a , char b ) {
            if ( (a == '(' && b == ')') || (a == '[' && b == ']') || ( a == '{' && b == '}') ) {
                return true;
            }
            else {
                return false;
            }
        }
    }

     代码运行:

  • 相关阅读:
    01 变量、基本数据类型
    02 gitlab的基本使用
    kubernetes
    02 redis高可用集群
    Redis & ELK
    01 Redis安装、配置详解、数据备份与恢复
    Jenkins
    01 git gitlab jenkins的安装
    golang mysql 客户端
    接口类
  • 原文地址:https://www.cnblogs.com/cg-bestwishes/p/10693305.html
Copyright © 2011-2022 走看看