LeetCode_有效的括號_Stack_E

20. 有效的括號

class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for (char c : s.toCharArray()) {
            if (stack.isEmpty()) {  // 當前是空的,直接壓進去
                stack.push(c);
                continue;
            }
            char top = stack.peek();
            if ((top == '(' && c == ')') || (top == '{' && c == '}') || (top == '[' && c == ']')) {
                stack.pop();        //當前字符配對成功,彈出頂層的
            } else {
                stack.push(c);      //當前字符配對失敗,壓入棧內
            }
        }
        return stack.isEmpty();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章