【LeetCode 20. Valid Parentheses】(合法括号匹配判断,栈的应用)

网友投稿 257 2022-11-23

【LeetCode 20. Valid Parentheses】(合法括号匹配判断,栈的应用)

题目链接 Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order. Note that an empty string is also considered valid. Example 1: Input: “()” Output: true Example 2: Input: “()[]{}” Output: true Example 3: Input: “(]” Output: false Example 4: Input: “([)]” Output: false Example 5: Input: “{[]}” Output: true 题意:给定一个由括号字符组成的字符串,问是否合法。 思路: 最简单的思路,遍历判断入栈,最后判断栈是否为空。 Code: import java.util.Stack; public class Solution { public boolean isValid(String s) { Stack stack = new Stack(); for (char ch : s.toCharArray()) { if (ch == '(') { stack.push(')'); } else if (ch == '[') { stack.push(']'); } else if (ch == '{') { stack.push('}'); } else if (stack.empty() || stack.pop() != ch) {///栈为空或者栈顶不等于ch return false; } } return stack.empty(); } public static void main(String[] args) { String str = "" + "()"; boolean res = new Solution().isValid(str); System.out.println(res); } }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中操作Redis的详细方法
下一篇:雷电3到雷电4,改动了哪个部分?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~