2331. Evaluate Boolean Binary Tree - Easy
前往題目
想法
- DFS,根據情況賦予
0
或1
思路
Recursion
- 遇到
null
就回傳false
- 然後記錄左右子節點的布林值
- 如果當前節點為
OR
就把當前的值改為left || right
的結果 AND
也是一樣- 最後回傳當前節點的布林值
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/