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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }