有效的括号(简单)
可以通过使用栈(Stack)数据结构来解决。基本思路是遍历字符串,遇到左括号就压栈,遇到右括号就检查栈顶元素是否匹配,最后检查栈是否为空。
class Solution {private boolean isMatchingPair(char left,char right){return (left=='('&&right==')')||(left=='['&&right==']')||(left=='{'&&right=='}');}public boolean isValid(String s) {Stack<Character> stack=new Stack<>();for(char c:s.toCharArray()){if(c=='('||c=='{'||c=='['){stack.push(c);}else{if(stack.isEmpty()){return false;}char top=stack.pop();if(!isMatchingPair(top,c)){return false;}}}return stack.isEmpty();}
}