public void Test1() { var sol = new BinaryTreeVerticalOrderTraversal(); var root = new TreeNode(3) { left = new TreeNode(9), right = new TreeNode(20) { left = new TreeNode(15), right = new TreeNode(7) } }; var ret = sol.VerticalOrder(root); IList <IList <int> > expected = new List <IList <int> >(); expected.Add(new List <int>() { 9 }); expected.Add(new List <int>() { 3, 15 }); expected.Add(new List <int>() { 20 }); expected.Add(new List <int>() { 7 }); Utlilitiy.AssertAreEqual(expected, ret); }
public void TestIterative() { var sol = new BinaryTreeLevelOrderTraversal(); var root = new TreeNode(3) { left = new TreeNode(9), right = new TreeNode(20) { left = new TreeNode(15), right = new TreeNode(7) } }; var ret = sol.LevelOrder(root); IList <IList <int> > expected = new List <IList <int> >(); expected.Add(new List <int>() { 3 }); expected.Add(new List <int>() { 9, 20 }); expected.Add(new List <int>() { 15, 7 }); Utlilitiy.AssertAreEqual(expected, ret); }
public void Test1() { var sol = new CombinationsSol(); var res = sol.Combine(4, 2); Utlilitiy.AssertAreEqual( new List <IList <int> >() { new List <int>() { 1, 2 }, new List <int> { 1, 3 }, new List <int> { 1, 4 }, new List <int> { 2, 3 }, new List <int> { 2, 4 }, new List <int> { 3, 4 } }, res); }
public void Test3() { var ladder = new WordLadder2Sol2(); var res = ladder.FindLadders( "lost", "miss", new List <string>() { "most", "mist", "miss", "lost", "fist", "fish" }); IList <IList <string> > expected = new List <IList <string> >(); expected.Add(new List <string>() { "lost", "most", "mist", "miss" }); Utlilitiy.AssertAreEqual(expected, res); }
public void Test1() { var ladder = new WordLadder2Sol2(); var res = ladder.FindLadders("hit", "cog", new List <string>() { "hot", "dot", "dog", "lot", "log", "cog" }); IList <IList <string> > expected = new List <IList <string> >(); expected.Add(new List <string>() { "hit", "hot", "dot", "dog", "cog" }); expected.Add(new List <string>() { "hit", "hot", "lot", "log", "cog" }); Utlilitiy.AssertAreEqual(expected, res); }
public void Test1() { var sol = new PalindromePartitioning(); var res = sol.Partition("abba"); var expected = new List <IList <string> >() { new List <string>() { "a", "b", "b", "a" }, new List <string>() { "a", "bb", "a" }, new List <string>() { "abba" } }; Utlilitiy.AssertAreEqual(expected, res); }
public void Test1() { var sol = new BinaryTreeZigzagLevelOrderTraversal(); var root = new TreeNode(3) { left = new TreeNode(9) { left = new TreeNode(4) { left = new TreeNode(8), right = new TreeNode(9) }, right = new TreeNode(5) { left = new TreeNode(7), right = new TreeNode( 12) } }, right = new TreeNode(20) { left = new TreeNode(15) { left = new TreeNode(45), right = new TreeNode( 23) }, right = new TreeNode(7) { left = new TreeNode( 48), right = new TreeNode(50) } } }; var ret = sol.ZigzagLevelOrder(root); IList <IList <int> > expected = new List <IList <int> >(); expected.Add(new List <int>() { 3 }); expected.Add(new List <int>() { 20, 9 }); expected.Add(new List <int>() { 4, 5, 15, 7 }); expected.Add(new List <int>() { 50, 48, 23, 45, 12, 7, 9, 8 }); Utlilitiy.AssertAreEqual(expected, ret); }