using System.Collections.Generic;
public static void Main()
Console.WriteLine("Start");
var root = CreateNode(5);
root.Left = CreateNode(3);
root.Right = CreateNode(9);
root.Left.Left = CreateNode(6);
root.Left.Right = CreateNode(4);
root.Left.Left.Right = CreateNode(7);
int count = FindSum(root);
Console.WriteLine("count: " + count);
Console.WriteLine("End");
public static Node CreateNode(int val) {
public static int FindSum(Node root) {
Queue<Node> queue = new Queue<Node>();
int length = queue.Count;
Node node = queue.Peek();
if (node.Left == null && node.Right == null)
queue.Enqueue(node.Left);
queue.Enqueue(node.Right);
count += (leaf & nonleaf);