有效的括号

有效的括号

题目链接:LeetCode 20 || nowcoder BM44

描述
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例

输入:s = "()"
输出:true

输入:s = "()[]{}"
输出:true

代码

class Solution {
    public boolean isValid(String s) {

        Deque<Character> deque = new LinkedList<>();
        for(int i=0; i<s.length(); i++){
            char ch = s.charAt(i);
            if(ch == '('){
                deque.push(')');
            }else if(ch == '['){
                deque.push(']');
            }else if(ch == '{'){
                deque.push('}');
            }else if(deque.isEmpty() || ch != deque.peek()){
                return false;
            }else{
                deque.pop();
            }
        }
        return deque.isEmpty();
    }
}
posted @ 2024-11-01 16:48  dwhere  阅读(3)  评论(0编辑  收藏  举报