分类
LeetCode刷题

LeetCode 第20题 Valid Parentheses 【堆栈】Java

原题地址:https://leetcode.com/problems/valid-parentheses/

题目:验证括号

给定一个字符串,仅包含'('')''{''}''[',']'等字符,检验括号匹配是否合法。

合法的条件是:

  • 一个括号必须被同类型的括号结束。
  • 括号结束的顺序必须正确。

注意,空字符串可以视为合法。

Example 1:

Input: "()"
Output: true

Example 2:

Input: "()[]{}"
Output: true

Example 3:

Input: "(]"
Output: false

Example 4:

Input: "([)]"
Output: false

Example 5:

Input: "{[]}"
Output: true

验证括号合法性是堆栈的基本应用,这类可以嵌套的信息的处理用堆栈比较方便。左括号压栈,右括号弹栈,检测对应关系即可。

我自己实现的stack:

左括号压栈;右括号弹栈,检测匹配与否:

耗时1ms,快于98.28%的java提交。

Github地址:https://github.com/tinyfool/leetcode/tree/master/src/p0020

其他堆栈和队列相关题目,参照堆栈和队列专题

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据