题目描述:
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
力扣链接:https://leetcode-cn.com/problems/valid-parentheses/
解题思路:
1. 创建一个HashMap,把括号配对放进去
2. 创建一个stack([]),for循环遍历字符串,对于每一个字符,
如果map里有这个key,那说明他是一个左括号,从map里取得相应的右括号,
把它push进stack里;否则的话,它就是右括号,
需要pop出stack里的第一个字符然后看它是否相等当前的字符。如果不相等,则返回false。
3. 循环结束后,如果stack不为空,说明还剩一些左括号没有被闭合,
返回false,否则返回true