首页 > 其他分享 >[LeetCode Hot 100] LeetCode20. 有效的括号

[LeetCode Hot 100] LeetCode20. 有效的括号

时间:2023-12-09 15:00:15浏览次数:29  
标签:return false stack 括号 Hot 匹配 100 LeetCode20 match

题目描述

思路:

栈的经典应用。
注意下遇到右括号的代码,即边界情况:

// 遇到右括号,则进行括号匹配
if (!stack.isEmpty() && stack.peek() == match(c)) {
	// 如果匹配则直接弹出栈顶元素
	stack.pop();
} else {
	// 如果不匹配则直接返回false
	return false;
}

方法一:

class Solution {
    public boolean isValid(String s) {
        // 括号匹配问题会使用到栈
        // 在Java中如要要使用栈,建议使用ArrayDeque
        Deque<Character> stack = new ArrayDeque<>();

        for (char c : s.toCharArray()) {
            // 遍历字符串的每一位
            if (c == '(' || c == '{' || c == '[') {
                // 遇到左括号就入栈
                stack.push(c);
            } else {
                // 遇到右括号,则进行括号匹配
                if (!stack.isEmpty() && stack.peek() == match(c)) {
                    // 如果匹配则直接弹出栈顶元素
                    stack.pop();
                } else {
                    // 如果不匹配则直接返回false
                    return false;
                }
            }
        }
        // 如果到最后栈为空,则说明"阔考匹配"
        return stack.isEmpty();
    }

    // 这里额外写一个match函数
    private char match(char c) {
        if (c == ')') return '(';
        if (c == '}') return '{';
        return '[';
    }
}

标签:return,false,stack,括号,Hot,匹配,100,LeetCode20,match
From: https://www.cnblogs.com/keyongkang/p/17890975.html

相关文章

  • P1004-DP【绿】
    这道题很有趣,暴搜的时间复杂度太过于凶残O(K*(2^n)^2)(K的意思是大常数),不过作为提高组T4,这道题数据范围太小了,感觉哪怕是离谱的暴搜也能过。再加上一时半会没想好多项式时间复杂度的正解DP,就搞了一个四不像出来,第一次走用搜索来实现第二次走用记搜来实现,这样时间复杂度就是O((2^n)*......
  • 初中英语优秀范文100篇-021Sophia the Robot-机器人索菲亚
    PDF格式公众号回复关键字:SHCZFW021记忆树1WhenitcomestoAI,Sophiatherobotismentionedagainandagain.翻译说到人工智能,总是会反复提到机器人索菲亚。简化记忆反复句子结构句子结构分析:主句:Sophiatherobotismentionedagainandagain.主语:Sophia......
  • 磁盘占用率100%做过的更改
    https://zhuanlan.zhihu.com/p/353963603https://zhuanlan.zhihu.com/p/258751945https://zhuanlan.zhihu.com/p/417616802https://blog.csdn.net/qq_44720952/article/details/125039718https://zhuanlan.zhihu.com/p/107449941www.3gbizhi.comhttps://www.zhihu.com/q......
  • SBT30100VFCT-ASEMI肖特基二极管SBT30100VFCT
    编辑:llSBT30100VFCT-ASEMI肖特基二极管SBT30100VFCT型号:SBT30100VFCT品牌:ASEMI封装:TO-220F正向电流:30A反向电压:100V引线数量:3芯片个数:2芯片尺寸:94MIL漏电流:<10ua恢复时间:5ns浪涌电流:250A芯片材质:正向电压:0.40V~0.66V工作结温:-65℃~150℃包装方式:500/箱SBT30100VF......
  • MBR30100CT-ASEMI肖特基二极管MBR30100CT
    编辑:llMBR30100CT-ASEMI肖特基二极管MBR30100CT型号:MBR30100CT品牌:ASEMI封装:TO-220特性:插件、肖特基二极管正向电流:30A反向耐压:100V恢复时间:5ns引脚数量:3芯片个数:2正向压降:0.54V~0.92V芯片尺寸:122MIL浪涌电流:275A漏电流:10ua工作温度:-65℃~175℃包装方式:500/盘;5000......
  • 最强无缓存PCIe 4.0 SSD之一!长江存储致态TiPlus7100 4TB评测:满盘写入缓外2.3GB/s
    一、前言:长江存储首款自有品牌致态4TBSSD其实早在年初,就有不少搭载长江存储闪存颗粒的国产4TBSSD,不过长江存储的自有品牌致态,直到现在才推出这款致态TiPlus71004TB。当然有句话叫好货不怕晚,致态TiPlus71004TB是一款非常优秀的PCIe4.0SSD。致态TiPlus71004TB采用了长江......
  • 华秋喜获“2023深圳行业领袖企业100强”称号
    11月25日,由深圳市行业领袖企业发展促进会与深圳商报/读创共同主办的“2023深圳行业领袖企业100强”与“深圳未来行业领袖企业50强”颁奖典礼隆重举行。华秋以“电子产业一站式服务平台”的领先优势,荣获了“2023深圳行业领袖企业100强”的称号,再次证明了华秋在电子产业互联网赛道的......
  • MySQL服务器8核32G max_connections设置为10000的情况,springboot里面的Druid参数配置
    MySQL服务器8核32Gmax_connections设置为10000的情况,springboot里面的Druid参数配置多少合适啊,MySQL服务器8核32G,max_connections设置为10000,确实是相当大的一个配置啊。对于Druid的参数配置,得看你系统的具体情况。一般来说,你可以考虑以下几个参数:initialSize:连接池的初始大小,你......
  • 初中英语优秀范文100篇-020My Passion for Cooking-我对烹饪的热情
    PDF格式公众号回复关键字:SHCZFW020记忆树1IbegantolikecookingwhenIwasveryyoung.翻译我从很小的时候开始喜欢烹饪简化记忆烹饪句子结构这个句子的主要结构是简单的过去时态,表达了过去某个时间点开始喜欢烹饪的情况。以下是这个句子的详细分析:主语:I(我)......
  • [LeetCode Hot 100] LeetCode23. 合并K个升序链表
    题目描述思路:优先队列使用优先队列这个数据结构,对于这个数据结构,我们不用去管内部是如何实现的,我们只要知道有这么一种数据结构能帮助我们将一堆数据塞到优先队列这一个黑盒中,然后我们可以获取这堆数中最小的值或者最大的值。代码一:/***Definitionforsingly-linkedlis......