public static void Main() { //var nTreeNode = new Node(4, null, null, null); //var nnode2 = new Node(9, null, null, null); //var nnode3 = new Node(10, null, null, null); //var nnode4 = new Node(5, null, null, null); //var nnode5 = new Node(1, null, null, null); //nnode2.right = nnode5; //nnode2.left = nnode4; //nTreeNode.right = nnode3; //nTreeNode.left = nnode2; var obj = new BinaryTree(); //var next = obj.Connect(nTreeNode); //var preorder = new int[] { 3, 9, 20, 15, 7 }; //var inorder = new int[] { 9, 3, 15, 20, 7 }; //var postOrder = new int[] { 9, 15, 7, 20, 3 }; //var pRoot = obj.BuildTree(inorder, postOrder); //var cRoot = obj.BuildPreOrderTree(preorder, inorder); var treeNode = new TreeNode(5); var node2 = new TreeNode(3); var node3 = new TreeNode(10); var node4 = new TreeNode(2); var node5 = new TreeNode(4); node2.right = node5; node2.left = node4; treeNode.right = node3; treeNode.left = node2; var inOrderSucc = obj.InorderSuccessor(treeNode, node5); var leaves = obj.FindLeaves(treeNode); var zigZag = obj.AverageOfLevels(treeNode); var allPaths = obj.BinaryTreePaths(treeNode); var resultList = obj.PathSum2(treeNode, 14); bool hasSum = obj.HasPathSum(treeNode, 18); obj.SumNumbers(treeNode); treeNode = new TreeNode(-10); node2 = new TreeNode(20); node3 = new TreeNode(20); node4 = new TreeNode(15); node5 = new TreeNode(7); node3.left = node4; node3.right = node5; treeNode.left = node2; treeNode.right = node3; //var depth = obj.MaxDepth(treeNode); //var sum = obj.MaxPathSum(treeNode); //var inorderList = InorderTraversal(treeNode); //var preOrderList = PreorderTraversal(treeNode); //var postOrderList = PostorderTraversal(treeNode); //var levelOrderLists = LevelOrder(treeNode); var lca = obj.LowestCommonAncestor(treeNode, node2, node4); }