您的位置 首页 JAVA(2017)

LeetCode – 20. 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.

这道题虽然很简单,但是坑很多

public class Solution {
    public boolean isValid(String s) {
        Stack q = new Stack();
        for(int i = 0; i<s.length();i++){
            if(s.charAt(i) == '('){
                q.add(")");
            }
            if(s.charAt(i) == '{'){
                q.add("}");
            }
            if(s.charAt(i) == '['){
                q.add("]");
            }
            if(s.charAt(i) == ')'){
                if(!(!q.isEmpty() &&q.pop().toString() == ")")) return false;
            }
            if(s.charAt(i) == '}'){
                if(!(!q.isEmpty() &&q.pop().toString() == "}")) return false;
            }
            if(s.charAt(i) == ']'){
                if(!(!q.isEmpty() && q.pop().toString() == "]")) return false;
            }
            
        }
        if(q.isEmpty()){
            return true;
        }
        else{
           return false; 
        }
        
    }
}
看完了?留个评分呗?
[0人评了分,平均: 0/5]

本站原创文章皆遵循“署名-非商业性使用-相同方式共享 3.0 (CC BY-NC-SA 3.0)”。转载请保留以下标注:

原文来源:《LeetCode – 20. Valid Parentheses》

发表评论

邮箱地址不会被公开。

返回顶部