「每日LeetCode」2023年2月23日
本文最后更新于:2023年3月19日 晚上
20.有效的括号
20.有效的括号
Category | Difficulty | Likes | Dislikes |
---|---|---|---|
algorithms | Easy (44.53%) | 3588 | - |
Tags
Companies
给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 每个右括号都有一个对应的相同类型的左括号。
示例 1:
输入:s = “()” 输出:true
示例 2:
输入:s = “()[]{}” 输出:true
示例 3:
输入:s = “(]” 输出:false
提示:
- 1 <= s.length <= 104
- s 仅由括号 ‘()[]{}’ 组成
思路
函数使用 for…of 循环遍历输入字符串中的每一个字符,使用 switch 语句判断当前字符是左括号还是右括号,如果是右括号,则从栈中取出最后一个左括号,如果不匹配则返回 false,如果匹配则将左括号从栈中弹出;如果是左括号,则将其推入栈中。
最后,判断栈中是否还有剩余的括号,如果有,则说明输入的字符串中的括号不匹配,返回 false,否则返回 true。
解答
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!