Leetcode Valid Parentheses(java)

采用了栈的数据结构,通过栈顶元素与下一元素比较,能够匹配则栈顶元素出栈,否则新元素入栈,遍历字符数组后,若栈为空则返回true,否则为false。

import java.util.Stack;
class Solution {
    public boolean isValid(String s) {
        char[] sChar=s.toCharArray();
            int sLength=sChar.length;
            if(sLength%2==1)return false;
            if(s.isEmpty())return true;
            Stack sk = new Stack();
            for(int i=0;iif(sk.isEmpty()){
                    sk.push(sChar[i]);
                    continue;
                }
                if(!match(sk.peek(),sChar[i])){
                    sk.push(sChar[i]);
                    continue;
                }
                if(match(sk.peek(),sChar[i])){
                    sk.pop();
                    continue;
                }
            }
            if(sk.isEmpty()){
                return true;
            }
            return false;
    }
    public static boolean match(char c1,char c2){//构造字符匹配方法
         switch(c1){
         case '(':
             if(c2==')')return true;
             else return false;
        case '[':
            if(c2==']')return true;
             else return false;
         case '{':
             if(c2=='}')return true;
             else return false;
         default:
             return false;
         }

     } 
}

你可能感兴趣的:(leetcode,java,leetcode)