LeetCode in Kotlin

2331. Evaluate Boolean Binary Tree

Easy

You are given the root of a full binary tree with the following properties:

The evaluation of a node is as follows:

Return the boolean result of evaluating the root node.

A full binary tree is a binary tree where each node has either 0 or 2 children.

A leaf node is a node that has zero 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.

Constraints:

Solution

import com_github_leetcode.TreeNode

class Solution {
    fun evaluateTree(root: TreeNode?): Boolean {
        return if (root!!.left == null) {
            root.`val` == 1
        } else {
            if (root.`val` == 2) {
                evaluateTree(root.left) || evaluateTree(root.right)
            } else {
                evaluateTree(root.left) && evaluateTree(root.right)
            }
        }
    }
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy