Esempio n. 1
0
        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);
        }