Java教程

腾讯五十题 No.11 有效的括号

本文主要是介绍腾讯五十题 No.11 有效的括号,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目链接

class Solution {
    public boolean isValid(String s) {
        //初始化一个栈
        Stack<Character> stack = new Stack<Character>();
        //利用栈的先进后出的特性去检验括号能不能配对
        for(char c : s.toCharArray()){
            //碰到左括号入栈
            if(c == '(') stack.push(')');
            else if(c == '[') stack.push(']');
            else if(c == '{') stack.push('}');
            //碰到右括号就出栈,如果不等于之前入栈的括号就返回false,如果栈为空也返回false
            //c != stack.pop() 如果不相等也会出栈,但是会但返回false
            else if(stack.isEmpty() || c != stack.pop()) return false;
        }
        return stack.isEmpty();
    }
}
这篇关于腾讯五十题 No.11 有效的括号的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!