zoukankan      html  css  js  c++  java
  • Valid Parentheses

    1. Problem

    一个字符串只能包含 '('')''{''}''[' 和 ']',判断字符串是否是闭合有效字符串。

    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.

    2. Solution

    用字符串数组来模拟栈

     1 public class Solution {
     2     public boolean isValid( String s ){
     3         int len = s.length();
     4         if( len % 2 != 0 )
     5             return false;
     6         char[] left = new char[len];
     7         int count = -1;
     8         for( int i=0; i<len; i++ ){
     9             char curr = s.charAt(i);
    10             if( curr=='(' || curr=='{' || curr=='['  )
    11                 left[++count] = s.charAt(i);
    12             else{
    13                 if( count>=0 && ( left[count] == curr-2 || left[count] == curr-1 ) )
    14                     count--;
    15                 else return false;
    16             }        
    17         }
    18         if( count>=0 )
    19             return false;
    20         return true;
    21     }
    22 }
  • 相关阅读:
    istio-流量管理-基于不同版本访问规则控制
    k8s安装istio
    策略模式
    递归思想
    Java Lambda 表达式
    redis实现分布式锁
    MySQL 的优化方案总结
    linux下查看某一端口被哪个进程占用
    组合模式
    桥接模式
  • 原文地址:https://www.cnblogs.com/hf-cherish/p/4668785.html
Copyright © 2011-2022 走看看