Exemple #1
0
        public void RemoveElementsTest()
        {
            ListNode input        = new ListNode(1, new ListNode(2, new ListNode(6, new ListNode(3, new ListNode(4, new ListNode(5, new ListNode(6)))))));
            ListNode expectedList = new ListNode(1, new ListNode(2, new ListNode(3, new ListNode(4, new ListNode(5)))));

            ListNode actualList = P203RemoveLinkedListElements.RemoveElements(input, 6);

            Assert.IsTrue(expectedList.AreEqual(expectedList, actualList));
        }
        public void InsertionSortListTest()
        {
            ListNode expectedList = new ListNode(1, new ListNode(2, new ListNode(3, new ListNode(4))));

            Assert.IsTrue(expectedList.AreEqual(expectedList, P147InsertionSortList.InsertionSortList(new ListNode(4, new ListNode(2, new ListNode(1, new ListNode(3)))))));

            expectedList = new ListNode(-1, new ListNode(0, new ListNode(3, new ListNode(4, new ListNode(5)))));
            Assert.IsTrue(expectedList.AreEqual(expectedList, P147InsertionSortList.InsertionSortList(new ListNode(-1, new ListNode(0, new ListNode(3, new ListNode(4, new ListNode(5))))))));
        }
        public void ReverseLinkedList()
        {
            ListNode head         = new ListNode(5, new ListNode(4, new ListNode(3, new ListNode(2, new ListNode(1)))));
            ListNode expectedList = new ListNode(1, new ListNode(2, new ListNode(3, new ListNode(4, new ListNode(5)))));

            ListNode reversedList = P206ReverseLinkedList.ReverseList(head);

            Assert.IsTrue(expectedList.AreEqual(expectedList, reversedList));
        }
        public void MergeKListsTest()
        {
            ListNode[] lists    = { null };
            ListNode   expected = null;

            Solution solution = new Solution();
            var      actual   = solution.MergeKLists(lists);

            Assert.IsTrue(ListNode.AreEqual(expected, actual));
        }
        public void MergeKListsTest2()
        {
            ListNode[] lists =
            {
                ListNode.CreateList(new int[] { 1, 4, 5 }),
                ListNode.CreateList(new int[] { 1, 3, 4 }),
                ListNode.CreateList(new int[] { 2, 6 })
            };
            ListNode expected = ListNode.CreateList(new int[] { 1, 1, 2, 3, 4, 4, 5, 6 });

            Solution solution = new Solution();
            var      actual   = solution.MergeKLists(lists);

            Assert.IsTrue(ListNode.AreEqual(expected, actual));
        }
        public void RemoveNthFromEndTest()
        {
            int[] input = { 1, 2, 3, 4, 5 };
            int   n     = 2;

            int[]    expected     = { 1, 2, 3, 5 };
            ListNode inputNode    = ListNode.CreateList(input);
            ListNode expectedNode = ListNode.CreateList(expected);

            Solution solution = new Solution();
            var      actual   = solution.RemoveNthFromEnd(inputNode, n);

            if (ListNode.AreEqual(expectedNode, actual) == false)
            {
                Assert.Fail();
            }
        }