【LeetCode】#20. 有效的括号
给定一个只包括 '('
,')'
,'{'
,'}'
,'['
,']'
的字符串 s
,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
输入:s = "()" 输出:true
输入:s = "()[]{}" 输出:true
输入:s = "(]" 输出:false
输入:s = "{[]}" 输出:true
解题思路:使用栈,遍历数组,若是判断为左括号则压入相应的右括号,若判断为右括号则弹出栈,若不相同则return false。
class Solution { public boolean isValid(String s) { Stack<Character> stack = new Stack<Character>(); for(char a:s.toCharArray()){ if(a=='('){stack.push(')');} else if(a=='{'){stack.push('}');} else if(a=='['){stack.push(']');} else{ if(stack.empty()||a!=stack.pop()){ return false; } } } return stack.empty(); } }
知识点:
1、Character为字符串类。
2、Stack的方法:push()压入,pop()弹出。
本文作者:Canyooo
本文链接:https://www.cnblogs.com/canyooo/p/15255591.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步