zoukankan      html  css  js  c++  java
  • [leetcode]Valid Parentheses

    Valid Parentheses

    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.

    算法思路:

    很经典的栈问题,我采用了大量的数据结构,以保证

    代码如下:

     1 public class Solution {
     2     public boolean isValid(String s) {
     3         if(s == null || (s.length() & 1 )== 1) return false;
     4         Set<Character> leftSet = new HashSet<Character>();
     5         Set<Character> rightSet = new HashSet<Character>();
     6         char[] left = {'(','[','{'};
     7         char[] right = {')',']','}'};
     8         Map<Character,Character> pair = new HashMap<Character,Character>();
     9         for(int i = 0; i < left.length;leftSet.add(left[i]),pair.put(left[i], right[i++]));
    10         for(int i = 0; i < right.length;rightSet.add(right[i++]));
    11         Stack<Character> stack = new Stack<Character>();
    12         for(int i = 0; i < s.length(); i++){
    13             char c = s.charAt(i);
    14             if(leftSet.contains(c)) {
    15                 stack.push(c);
    16             }else if(rightSet.contains(c)){
    17                 if(stack.isEmpty() || c != pair.get(stack.pop()) ) return false; 
    18             }
    19         }
    20          return stack.isEmpty();
    21     }
    22 }

    其实完全木有必要,但是我学的数据结构还是多用比较好

  • 相关阅读:
    记一次内衣渗透
    mysql提权
    Token窃取与利用
    组策略首选项提权
    Windows错误配置提权
    windows内核溢出漏洞提权限
    xss漏洞
    mysql语句大全
    二叉树
    10个对所有学科都有用的Python数据可视化库
  • 原文地址:https://www.cnblogs.com/huntfor/p/3865826.html
Copyright © 2011-2022 走看看