解题思路-LeetCode第二十题:有效的括号
题目描述:
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

示例 1:
输入: “()”
输出: true

示例 2:
输入: “()[]{}”
输出: true

示例 3:
输入: “(]”
输出: false

示例 4:
输入: “([)]”
输出: false

示例 5:
输入: “{[]}”
输出: true

解题思路:
首先判断空字符串,返回true被认为是有效字符串。利用栈的方法来存储字符串中的字符(先进后出),定义top初始化为零此时栈为空,利用循环遍历字符串,若所指字符是(或 [ 或 { 时将字符入栈并使top加一,若所指字符和栈顶字符可凑成一对时(此时必须判断top是否大于0才可取出栈中top-1的字符,否则会产生越界错误)使top减一,否则返回false不是有效字符串(若字符串仅有]字符时均不满足上述两种情况且不是有效字符串)。判断top值是否为零,是则为有效字符串,否则为无效字符串。

代码如下:
解题思路-LeetCode第二十题:有效的括号
提交后,通过。

相关文章:

  • 2021-10-13
  • 2021-06-05
  • 2022-01-05
  • 2022-12-23
  • 2021-04-01
  • 2022-12-23
  • 2019-10-09
  • 2022-01-24
猜你喜欢
  • 2021-12-11
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
  • 2021-09-30
  • 2021-08-13
相关资源
相似解决方案