今日签到题,题目如下:
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。示例 1:
输入: "()"
输出: true
示例 2:输入: "()[]{}"
输出: true
示例 3:输入: "(]"
输出: false
示例 4:输入: "([)]"
输出: false
示例 5:输入: "{[]}"
输出: true来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
难度为 easy,只需要用一个栈,正序遍历字符串中的字符,把左括号入栈,出现右括号的时候抛出栈顶元素,如果抛出的栈顶元素和当前右括号类型不同则返回 false。遍历结束后如果栈中还有元素,表示还有左括号没有对应右括号配对,返回 false。如果没有进入以上任意 false 结果,则最终返回 true。
复杂度分析:
遍历一次字符串ÿ