#2331

Evaluate Boolean Binary Tree

newbie · 145 · lc easy +13 · verified · 82.4% accepted · 1,547 likes · top 94%

Description

You are given the root of a full binary tree where:

- Leaf nodes store 0 (False) or 1 (True).

- Internal nodes store 2 (OR) or 3 (AND).

Evaluate the tree recursively:

- A leaf evaluates to its boolean value.

- An internal node applies its boolean operation to its children's evaluations.

Return the boolean result of evaluating the root node.

A full binary tree has every node with either 0 or 2 children.

Example 1:

Input: root = [2,1,3,null,null,0,1]
Output: true
Explanation: The above diagram illustrates the evaluation process.
The AND node evaluates to False AND True = False.
The OR node evaluates to True OR False = True.
The root node evaluates to True, so we return true.

Example 2:

Input: root = [0]
Output: false
Explanation: The root node is a leaf node and it evaluates to false, so we return false.

Code

1
2
3
4
5
6
7
8
9