LeetCode 20:有效的括号(栈)

tech2022-08-03  154

文章目录

题目示例代码

题目

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串

示例

输入: “()[]{}” 输出: true

代码

很简单的一道题,用栈即可

class Solution { public boolean isValid(String s) { if(s == null || s.length() == 0){ return true; } LinkedList<Character> stack = new LinkedList<>(); for(int i=0;i<s.length();i++){ char c = s.charAt(i); if(c == '(' || c == '[' || c == '{'){ stack.push(c); }else if(c == ')'){ if(stack.isEmpty() || stack.peek() != '('){ return false; }else{ stack.pop(); } }else if(c == ']'){ if(stack.isEmpty() || stack.peek() != '['){ return false; }else{ stack.pop(); } }else{ if(stack.isEmpty() || stack.peek() != '{'){ return false; }else{ stack.pop(); } } } return stack.isEmpty(); } }
最新回复(0)