public void SortedArrayToBSTTest()
        {
            var solution = new _108_ConvertSortedArrayToBinarySearchTree();
            var result   = solution.SortedArrayToBST(new int[] { -10, -3, 0, 5, 9 });

            AssertHelper.AssertTree(new int?[] { 0, -3, 9, -10, null, 5 }, result);
        }
コード例 #2
0
        public void ConstructMaximumBinaryTree()
        {
            var solution = new _0654_MaximumBinaryTree();
            var root     = solution.ConstructMaximumBinaryTree(new int[] { 3, 2, 1, 6, 0, 5 });

            AssertHelper.AssertTree(new int?[] { 6, 3, 5, null, 2, 0, null, null, 1 }, root);
        }
コード例 #3
0
        public void SortedListToBSTTest()
        {
            var solution = new _109_ConvertSortedListToBinarySearchTree();
            var result   = solution.SortedListToBST(TestHelper.GenerateList(new int[] { -10, -3, 0, 5, 9 }));

            AssertHelper.AssertTree(new int?[] { 0, -3, 9, -10, null, 5 }, result);
        }
コード例 #4
0
        public void InsertIntoBST_2()
        {
            var solution = new _0701_InsertIntoABinarySearchTree();
            var result   = solution.InsertIntoBST(null, 5);

            AssertHelper.AssertTree(new int?[] { 5 }, result);
        }
        public void ConstructFromPrePost_1()
        {
            var solution = new _0889_ConstructBinaryTreeFromPreorderAndPostorderTraversal();
            var result   = solution.ConstructFromPrePost(new int[] { 1, 2, 4, 5, 3, 6, 7 }, new int[] { 4, 5, 2, 6, 7, 3, 1 });

            AssertHelper.AssertTree(new int?[] { 1, 2, 3, 4, 5, 6, 7 }, result);
        }
コード例 #6
0
        public void BuildTreeTest()
        {
            var solution = new _106_ConstructBinaryTreeFromInorderAndPostorderTraversal();
            var result   = solution.BuildTree(new int[] { 9, 3, 15, 20, 7 }, new int[] { 9, 15, 7, 20, 3 });

            AssertHelper.AssertTree(new int?[] { 3, 9, 20, null, null, 15, 7 }, result);
        }
コード例 #7
0
        public void RecoverTreeTest()
        {
            var solution = new _099_RecoverBinarySearchTree();
            var root     = TestHelper.GenerateTree(new int?[] { 1, 3, null, null, 2 });

            solution.RecoverTree(root);
            AssertHelper.AssertTree(new int?[] { 3, 1, null, null, 2 }, root);
        }
コード例 #8
0
        public void InvertTreeTest()
        {
            var root     = TestHelper.GenerateTree(new int?[] { 4, 2, 7, 1, 3, 6, 9 });
            var solution = new _0226_InvertBinaryTree();
            var newRoot  = solution.InvertTree(root);

            AssertHelper.AssertTree(new int?[] { 4, 7, 2, 9, 6, 3, 1 }, newRoot);
        }
コード例 #9
0
        public void FlattenTest()
        {
            var solution = new _114_FlattenBinaryTreeToLinkedList();
            var root     = TestHelper.GenerateTree(new int?[] { 1, 2, 5, 3, 4, null, 6 });

            solution.Flatten(root);
            AssertHelper.AssertTree(new int?[] { 1, null, 2, null, 3, null, 4, null, 5, null, 6 }, root);
        }
コード例 #10
0
        public void SerializeandDeserializeBinaryTreeTest()
        {
            var root     = TestHelper.GenerateTree(new int?[] { 1, 2, 3, null, null, 4, 5 });
            var solution = new _0297_SerializeandDeserializeBinaryTree();
            var newRoot  = solution.Deserialize(solution.Serialize(root));

            AssertHelper.AssertTree(root, newRoot);
        }
コード例 #11
0
        public void TrimBSTTest_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 1, 0, 2 });

            var solution = new _0669_TrimABinarySearchTree();
            var newRoot  = solution.TrimBST(root, 1, 2);

            AssertHelper.AssertTree(new int?[] { 1, null, 2 }, newRoot);
        }
        public void LcaDeepestLeaves_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 1, 2, 3 });

            var solution = new _1123_LowestCommonAncestorOfDeepestLeaves();
            var result   = solution.LcaDeepestLeaves(root);

            AssertHelper.AssertTree(new int?[] { 1, 2, 3 }, result);
        }
コード例 #13
0
        public void BalanceBST_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 1, null, 2, null, 3, null, 4, null, null });

            var solution = new _1382_BalanceABinarySearchTree();
            var result   = solution.BalanceBST(root);

            AssertHelper.AssertTree(new int?[] { 3, 2, 4, 1 }, result);
        }
コード例 #14
0
        public void InsertIntoBST_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 4, 2, 7, 1, 3 });

            var solution = new _0701_InsertIntoABinarySearchTree();
            var result   = solution.InsertIntoBST(root, 5);

            AssertHelper.AssertTree(new int?[] { 4, 2, 7, 1, 3, 5 }, result);
        }
コード例 #15
0
        public void IncreasingBST_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 5, 3, 6, 2, 4, null, 8, 1, null, null, null, 7, 9 });

            var solution = new _0897_IncreasingOrderSearchTree();
            var result   = solution.IncreasingBST(root);

            AssertHelper.AssertTree(new int?[] { 1, null, 2, null, 3, null, 4, null, 5, null, 6, null, 7, null, 8, null, 9 }, result);
        }
コード例 #16
0
        public void DeleteNode_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 5, 3, 6, 2, 4, null, 7 });

            var solution = new _0450_DeleteNodeInABST();
            var result   = solution.DeleteNode(root, 3);

            AssertHelper.AssertTree(new int?[] { 5, 4, 6, 2, null, null, 7 }, result);
        }
コード例 #17
0
        public void BstToGst_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 4, 1, 6, 0, 2, 5, 7, null, null, null, 3, null, null, null, 8 });

            var solution = new _1038_BinarySearchTreeToGreaterSumTree();
            var result   = solution.BstToGst(root);

            AssertHelper.AssertTree(new int?[] { 30, 36, 21, 36, 35, 26, 15, null, null, null, 33, null, null, null, 8 }, result);
        }
コード例 #18
0
        public void BstToGst_2()
        {
            var root = TestHelper.GenerateTree(new int?[] { 5, 2, 13 });

            var solution = new _1038_BinarySearchTreeToGreaterSumTree();
            var result   = solution.BstToGst(root);

            AssertHelper.AssertTree(new int?[] { 18, 20, 13 }, result);
        }
コード例 #19
0
        public void InsertIntoMaxTree_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 4, 1, 3, null, null, 2 });

            var solution = new _0998_MaximumBinaryTreeII();
            var result   = solution.InsertIntoMaxTree(root, 5);

            AssertHelper.AssertTree(new int?[] { 5, 4, null, 1, 3, null, null, 2 }, result);
        }
コード例 #20
0
        public void SubtreeWithAllDeepest_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 3, 5, 1, 6, 2, 0, 8, null, null, 7, 4 });

            var solution = new _0865_SmallestSubtreeWithAllTheDeepestNodes();
            var result   = solution.SubtreeWithAllDeepest(root);

            AssertHelper.AssertTree(new int?[] { 2, 7, 4 }, result);
        }
コード例 #21
0
        public void PruneTree_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 1, null, 0, 0, 1 });

            var solution = new _0814_BinaryTreePruning();
            var result   = solution.PruneTree(root);

            AssertHelper.AssertTree(new int?[] { 1, null, 0, null, 1 }, result);
        }
コード例 #22
0
        public void SearchBST_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 4, 2, 7, 1, 3 });

            var solution = new _0700_SearchInABinarySearchTree();
            var result   = solution.SearchBST(root, 2);

            AssertHelper.AssertTree(new int?[] { 2, 1, 3 }, result);
        }
コード例 #23
0
        public void ConvertBST_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 5, 2, 13 });

            var solution = new _0538_ConvertBSTToGreaterTree();
            var result   = solution.ConvertBST(root);

            AssertHelper.AssertTree(new int?[] { 18, 20, 13 }, result);
        }
コード例 #24
0
        public void SerializeAndDeserialize_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 2, 1, 3 });

            var solution = new _0449_SerializeAndDeserializeBST();
            var result   = solution.serialize(root);

            AssertHelper.AssertTree(new int?[] { 2, 1, 3 }, solution.deserialize(result));
        }
コード例 #25
0
        public void RemoveLeafNodes_1()
        {
            var root = TestHelper.GenerateTree(new int?[] { 1, 2, 3, 2, null, 2, 4 });

            var solution = new _1325_DeleteLeavesWithAGivenValue();
            var result   = solution.RemoveLeafNodes(root, 2);

            AssertHelper.AssertTree(new int?[] { 1, null, 3, null, 4 }, result);
        }
コード例 #26
0
        public void MergeTreesTest()
        {
            var root1 = TestHelper.GenerateTree(new int?[] { 1, 3, 2, 5 });
            var root2 = TestHelper.GenerateTree(new int?[] { 2, 1, 3, null, 4, null, 7 });

            var solution = new _0617_MergeTwoBinaryTrees();
            var result   = solution.MergeTrees(root1, root2);

            AssertHelper.AssertTree(new int?[] { 3, 4, 5, 5, 4, null, 7 }, result);
        }
 public void BstFromPreorder_1()
 {
     var solution = new _1008_ConstructBinarySearchTreeFromPreorderTraversal();
     var result = solution.BstFromPreorder(new int[] { 8, 5, 1, 7, 10, 12 });
     AssertHelper.AssertTree(new int?[] { 8, 5, 10, 1, 7, null, 12 }, result);
 }