LeetCode solutions

2416. Evaluate Boolean Binary Tree

My accepted Python solution to LeetCode problem 2416, Evaluate Boolean Binary Tree, running in 2ms.

  • Difficulty: Easy
  • Python
  • Runtime 2ms
  • Memory 17.6MB

Read the problem on LeetCode View on GitHub

Python

Accepted on LeetCode — runtime 2ms, memory 17.6MB, accepted 2026-01-01.

python
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def evaluateTree(self, root: Optional[TreeNode]) -> bool:
        if root.left is None:  # Leaf node
            return root.val == 1
        left = self.evaluateTree(root.left)
        right = self.evaluateTree(root.right)
        if root.val == 2:  # OR
            return left or right
        else:  # AND (val == 3)
            return left and right

Source