题目描述
给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
1 | 1. 左括号必须用相同类型的右括号闭合。 |
示例 1:
1 | 输入: "()" |
示例 2:
1 | 输入: "()[]{}" |
示例 3:
1 | 输入: "(]" |
示例 4:
1 | 输入: "([)]" |
示例 5:
1 | 输入: "{[]}" |
题目分析
使用栈来读取每个括号, 如果栈顶的括号与将压入的括号相对, 则弹出栈顶元素, 否则入栈.
最后检查是否栈为空, 如非空则为非法字符串.
源码
1 | class Solution { |