zoukankan      html  css  js  c++  java
  • LeetCode

    题目:

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

    The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

    思路:

    用栈来解决。

    package ds;
    
    import java.util.Stack;
    
    public class ValidParentheses {
    
        public boolean isValid(String s) {
            Stack<Character> stack = new Stack<Character>();
            int len = s.length();
            for (int i = 0; i < len; ++i) {
                char c = s.charAt(i);
                switch (c) {
                case '(':
                    
                case '[':
                    
                case '{':
                    stack.push(c);
                    break;
                case ')':
                    if (stack.isEmpty() || stack.pop() != '(')
                        return false;
                    break;
                case ']':
                    if (stack.isEmpty() || stack.pop() != '[')
                        return false;
                    break;
                case '}':                
                    if (stack.isEmpty() || stack.pop() != '{')
                        return false;
                    break;
                }
            }
            
            return stack.isEmpty();
        }
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ValidParentheses v = new ValidParentheses();
            // Test case 1
            System.out.println(v.isValid("()[]}"));
            // Test case 2
            System.out.println(v.isValid("("));
        }
    
    }
  • 相关阅读:
    并查集
    强联通分量,缩点
    最短路径
    最小生成树
    拓扑排序
    图的遍历
    图论基础知识
    数据库四种隔离级别
    MySQL 索引 乐观锁 悲观锁
    MYSQL+正则
  • 原文地址:https://www.cnblogs.com/null00/p/5060243.html
Copyright © 2011-2022 走看看