2331. Evaluate Boolean Binary Tree - Easy

前往題目

想法

  • DFS,根據情況賦予01

思路

Recursion

  1. 遇到null就回傳false
  2. 然後記錄左右子節點的布林值
  3. 如果當前節點為OR就把當前的值改為left || right的結果
  4. AND也是一樣
  5. 最後回傳當前節點的布林值

Code

class Solution {
    public boolean evaluateTree(TreeNode root) {
        if (root == null) return false;

        boolean left = evaluateTree(root.left);
        boolean right = evaluateTree(root.right);

        if (root.val == 2) {
            root.val = left || right == true ? 1 : 0;
        } else if (root.val == 3) {
            root.val = left && right == true ? 1 : 0;
        }

        return root.val == 0 ? false : true;
    }
}

2331. Evaluate Boolean Binary Tree - Easy
https://f88083.github.io/2024/10/22/2331-Evaluate-Boolean-Binary-Tree-Easy/
作者
Simon Lai
發布於
2024年10月22日
許可協議