判断括号是否合法
import java.util.HashMap; import java.util.Map; import java.util.Stack; public class 判断括号是否合法 { public static boolean isValid(String s){ Stack<Character> stack = new Stack<>(); Map<Character,Character> characterCharacterMap = new HashMap<>(); //使括号互相对应,至于为什么右括号早前面,因为在下面如果右与右括号相对应的左括号,得到更方便,使它等于栈弹出的元素相等就可以了 characterCharacterMap.put(')','('); characterCharacterMap.put(']','['); characterCharacterMap.put('}','{'); char[] chars = s.toCharArray(); for (int i = 0; i < chars.length; i++) { //判断是否使左括号 if (!characterCharacterMap.containsKey(chars[i])){ stack.push(chars[i]); }else{ //判断栈是否为空或者栈顶元素等于与之相对应的括号 if (stack.empty() || characterCharacterMap.get(chars[i]) != stack.pop()){ return false; } } } //为真说明括号没了,返回真,为假说明还有未配对的括号 return stack.empty(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器