public static void Main()
Node node14 = new Node{LeftNode = null, RightNode = null};
Node node13 = new Node{LeftNode = null, RightNode = null};
Node node11 = new Node{LeftNode = null, RightNode = null};
Node node10 = new Node{LeftNode = null, RightNode = null};
Node node9 = new Node{LeftNode = null, RightNode = null};
Node node8 = new Node{LeftNode = null, RightNode = null};
Node node7 = new Node{LeftNode = node14, RightNode = null};
Node node6 = new Node{LeftNode = null, RightNode = node13};
Node node5 = new Node{LeftNode = node10, RightNode = node11};
Node node4 = new Node{LeftNode = node8, RightNode = node9};
Node node3 = new Node{LeftNode = node6, RightNode = node7};
Node node2 = new Node{LeftNode = node4, RightNode = node5};
Node node1 = new Node{LeftNode = node2, RightNode = node3};
int num = getNumChildren(node1);
public static int getNumChildren(Node left)
if (left.LeftNode == null && left.RightNode == null)
return getNumChildren(left.LeftNode) + getNumChildren(left.RightNode) + 1;