Java教程

20. 有效的括号

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

在这里插入图片描述

class Solution {
    public boolean isValid(String s) {
        // 用栈的方式来解
        Stack<Character> stack = new Stack<>();
        // 当字符串为空时,直接返回true
        if(s.isEmpty()) return true;
        // 遍历字符串,将字符串转成字符数组
        for(char c : s.toCharArray()){
            // 遍历字符串,符合条件的的符号压入栈中
            if(c == '('){
                stack.push(')');
            }else if(c == '['){
                stack.push(']');
            }else if(c == '{'){
                stack.push('}');
            }else{
                // 当栈空或,字符串和弹出的栈首元素不匹配则返回false
                if(stack.isEmpty() || c != stack.pop()){
                    return false;
                }
            }
        }
        // 当遍历完字符串栈空返回true
        if(stack.isEmpty())return true;
        // 否则返回false
        return false;
    }
}
这篇关于20. 有效的括号的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!