力扣之有效的括号(栈的理解和应用)

发布时间:2024-03-31 12:01

题目描述

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
 

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

示例 4:

输入:s = "([)]"
输出:false

示例 5:

输入:s = "{[]}"
输出:true
力扣原题目地址:https://leetcode.cn/problems/...

思路分析

阅读了以上题目的要求以后,我们大致可以明白一下几点:

  • 首先,括号是成对出现的,有左括号,就有对应的右括号,所以括号字符串的长度一定是2的倍数即偶数,才符合基本条件,即:s.length % 2 === 0 取模2等于1就是奇数了,肯定是不行的
  • 当出现一个括号的时候,在未来的某一时刻,会出现另一个对的括号,与他成双成对。所以咱们也可以换种方式理解,更有助于我们解题

    换种方式理解

    这个比喻不太恰当,不过有助于理解题目

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号