本文共 908 字,大约阅读时间需要 3 分钟。
class Solution { public boolean isValid(String s) { if(s.length() % 2 == 1) { //括号为奇数 return false; } Stackstack = new Stack<>(); //用map来保存括号对 用来判断很方便 Map map = new HashMap<>(); //因为是左括号入栈 右括号判断 通过右括号来获取左括号 与栈顶元素比较 一样就出栈 //所以key为右括号 map.put(')', '('); map.put(']', '['); map.put('}', '{'); for(int i = 0; i < s.length(); i++) { char cur = s.charAt(i); if(map.containsKey(cur)) { //如果包含说明是右括号 判断 if(stack.isEmpty() || stack.peek() != map.get(cur)) { return false; } stack.pop(); }else { //不包含 说明是左括号 左括号就入栈 stack.push(cur); } } //栈为空都匹配成功 return stack.isEmpty(); }}
转载地址:http://hmhzi.baihongyu.com/