首页 > 其他 > 详细

LeetCode 20

时间:2020-06-12 22:16:42      阅读:51      评论:0      收藏:0      [点我收藏+]

20. 有效的括号

思路:用一个栈记录右括号,遍历整个字符串,每遇到一个左括号,便将其对应的右括号压入栈中,可知内层的括号在栈顶,如果遇到右括号,分为两种情况,其一,栈内无元素,说明该右括号无落单,其二,弹出的栈顶元素与该右括号不同,说明该右括号匹配失败,两种情况都为false。最后,如果栈中仍然有元素,说明左括号落单,返回false,若无元素,则为true。

Java

class Solution {
    public boolean isValid(String s) {
        Stack<Character> st = new Stack<>();
        for(char c:s.toCharArray()){
            if(c==‘(‘){
                st.push(‘)‘);
            }else if(c==‘[‘){
                st.push(‘]‘);
            }else if(c==‘{‘){
                st.push(‘}‘);
            }else if(st.isEmpty()||c!=st.pop()){
                return false;
            }
        }
        return st.isEmpty();
    }
}

LeetCode 20

原文:https://www.cnblogs.com/xkf97/p/13110294.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!