力扣20:有效的括号

 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

 用栈解决

class Solution {
    public boolean isValid(String s) {
       if(s.length() == 0){
           return true;
       } 

       Stack stack = new Stack();
       for(Character ch : s.toCharArray()){
           if(ch == '(' || ch == '[' || ch == '{'){
               stack.push(ch);
           }else{//都是右边的括号,对右边的括号进行判断
               if(stack.isEmpty()){
                   return false;
               }else{
                   char temp = stack.pop();
                    if(ch == ')'){
                        if(temp!='('){
                            return false;
                        }
                    }else if(ch == ']'){
                        if(temp!='['){
                            return false;
                        }
                    }else if(ch == '}'){
                        if(temp!='{'){
                            return false;
                        }
                    }
               }
           }
       }
       return stack.isEmpty() ? true : false;
    }
}

你可能感兴趣的:(算法)