public TreeNode(int val, TreeNode left=null, TreeNode right=null)
public static bool EvaluateTree(TreeNode root) {
if (root.left == null && root.right == null) {
bool left = EvaluateTree(root.left);
bool right = EvaluateTree(root.right);
return root.val == 2 ? left | right : left & right;
public static void Main()
Console.WriteLine("UniLecs");
var root1 = new TreeNode(2);
root1.left = new TreeNode(1);
root1.right = new TreeNode(3);
root1.right.left = new TreeNode(0);
root1.right.right = new TreeNode(1);
Console.WriteLine(EvaluateTree(root1).ToString());