20. 有效的括号 Valid Parentheses
Given a string s
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.
Input: s = "()[]{}"
Output: true
方法:
利用栈,左括号入栈,右括号则从栈中取值看是否配对,注意pop时判断是否为空,最后栈为空则有效。
public boolean isValid(String s) { if (s == null || s.length() % 2 != 0) return false; Stack<Character> stack = new Stack<>(); char [] str = s.toCharArray(); for(char c : str) { if (c == '(' || c == '[' || c == '{') { stack.push(c); } else { if (stack.size() == 0) return false; Character pair = stack.pop(); if (c == ')' && pair != '(' || c == ']' && pair != '[' || c == '}' && pair != '{') return false; } } if (stack.size() != 0) return false; return true; }
参考链接:
https://leetcode.com/problems/valid-parentheses/
https://leetcode-cn.com/problems/valid-parentheses/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具