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
- Updated
Read the problem on LeetCode View on GitHub
The problem statement is LeetCode’s and stays on their site. What follows is my accepted solution.
Python
Accepted on LeetCode — runtime 2ms, memory 17.6MB, accepted 2026-01-01.
# 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