Evaluate Boolean Binary Tree

EasyTreeDepth-First SearchBinary Tree

Solution

import { TreeNode } from '@algorithm/lib';
 
export function evaluateTree(root: TreeNode | null): boolean {
  if (root === null) {
    return true;
  }
  if (root.left === null || root.right === null) {
    return root.val === 1;
  }
 
  if (root.val === 2) {
    return evaluateTree(root.left) || evaluateTree(root.right);
  }
 
  return evaluateTree(root.left) && evaluateTree(root.right);
}