using System.Collections.Generic;
using System.Threading.Tasks;
namespace ConsoleApplication1
public TreeNode LeftChild { get; private set; }
public TreeNode RightChild { get; private set; }
public TreeNode(TreeNode leftChild, TreeNode rightChild)
static int CalculateHeight(TreeNode root)
if (root.LeftChild != null)
leftHeight = CalculateHeight(root.LeftChild) + 1;
if (root.RightChild != null)
rightHeight = CalculateHeight(root.RightChild) + 1;
if (leftHeight > rightHeight)
static void Main(string[] args)
TreeNode leaf1 = new TreeNode(null, null);
TreeNode leaf2 = new TreeNode(null, null);
TreeNode node = new TreeNode(leaf1, null);
TreeNode root = new TreeNode(node, leaf2);
Console.WriteLine(CalculateHeight(root));