作者:上犹日期:
返回目录:电脑怎么了
题目介绍
解析题目:有效的括号
描述:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:
1. 左括号必须用相同类型的右括号闭合。
2. 左括号必须以正确的顺序闭合。
示例 1:
输入: "()"
输出: true
示例 2:
输入: "()[]{}"
输出: true
示例 3:
输入: "(]"
输出: false
示例 4:>
输入: "([)]"
输出: false
示例 5:
输入: "{[]}"
输出: true
括号有效的标准是每一个左括号对应一个右括号,右括号不能打头,且每个右括号之前要么还是右括号,要么就是和它匹配的左括号。
可以发现,从一个有效的括号字符串中去除一对括号后,剩余部分还是有效的括号字符串。那么我们就可以像玩消除游戏一样,每遇到一个右括号,就消除一对括号,直到没有右括号为止。如果最后所有的左括号都被消除了,那它就是一个有效的括号字符串。
以上的思路用栈来操作十分合适,所以我们的代码如下所示:
public boolean isValid(String s) { Stack 相关源码请加QQ获取。 【感谢您能看完,如果能够帮到您,麻烦点个赞~】 更多经验技术欢迎前来共同学习交流:一点课堂-为梦想而奋斗的在线学习平台 http://www.yidiankt.com/ ![关注公众号,回复“1”免费领取-【java核心知识点】] QQ讨论群:616683098 QQ:3184402434 想要深入学习的同学们可以加我QQ一起学习讨论~还有全套资源分享,经验探讨,等你哦!