static void Main(string[] args) { //int T = Convert.ToInt32(Console.ReadLine()); //for (int i = 1; i <= T; i++) //{ // int size = Convert.ToInt32(Console.ReadLine().Trim()); // string inputArr = Console.ReadLine().Trim(); // int[] arr = Array.ConvertAll(inputArr.Split(" "), int.Parse); // int res = HashingProblems.FirstRepeatingElement(arr, size); // Console.WriteLine(res); //} //int[] arr = new int[] { }; //var res = SortingProblems.Merge3SortedArrays(arr1, arr2, arr3); //Print(res); TreeProblems t = new TreeProblems(); int[] parent = { -1, 0, 0, 1, 1, 3, 5 }; t.ConstructTreeFromParentArray(parent, parent.Length); Console.ReadKey(); }
public void TestSomething(int[] nums, bool expectedValue) { BinaryTreeNode root = generateBinarySearchTree(nums); var treeProblems = new TreeProblems(); var actualResult = treeProblems.IsValidBST(root); Assert.Equal(expectedValue, actualResult); }
public void TestDiameterOfBinaryTree(int[] nums, int expectedDiameter) { BinaryTreeNode root = generateBinarySearchTree(nums); var treeProblems = new TreeProblems(); var actualDiameter = treeProblems.DiameterOfBinaryTree(root); Assert.Equal <int>(expectedDiameter, actualDiameter); }
public void TestCountNodes(int[] nums, int expectedCount) { int?[] arr = nums.Cast <int?>().ToArray(); var treeProblems = new TreeProblems(); var root = BinaryTreeNode.CreateBinaryTree(arr); var actualCount = treeProblems.CountNodes(root); Assert.Equal <int>(expectedCount, actualCount); }
public void TestDelNodesParentAndChild() { var root = BinaryTreeNode.CreateBinaryTree(new int?[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }); var to_delete = new int[] { 2, 5 }; var expectedForest = BinaryTreeNode.CreateBinaryTreeForest(new int?[2][] { new int?[3] { 4, 8, 9 }, new int?[5] { 1, null, 3, 6, 7 } }); var treeProblems = new TreeProblems(); var actualForest = treeProblems.DelNodes(root, to_delete); Assert.Equal <int>(expectedForest.Count, actualForest.Count); }
public void TestDelNodesEasy() { var root = BinaryTreeNode.CreateBinaryTree(new int?[] { 1, 2, 3, 4, 5, 6, 7 }); var to_delete = new int[] { 3, 5 }; var expectedForest = BinaryTreeNode.CreateBinaryTreeForest(new int?[3][] { new int?[1] { 6 }, new int?[1] { 7 }, new int?[4] { 1, 2, null, 4 } }); var treeProblems = new TreeProblems(); var actualForest = treeProblems.DelNodes(root, to_delete); Assert.Equal <int>(expectedForest.Count, actualForest.Count); }