public void TestMergeTwoSortedList() { var head1 = MyLinkList.BuildListNodeFromArray(new[] { 1, 2, 4 }); var head2 = MyLinkList.BuildListNodeFromArray(new[] { 1, 3, 4 }); var head3 = MergeTwoSortedList.Merge(head1, head2); Assert.AreEqual(head3.Length(), 6); }
public void MergeTwoSortedListTestMethod() { var mergeTwoSortedList = new MergeTwoSortedList(); var input1_l1 = new ListNode(1) { next = new ListNode(2) { next = new ListNode(4) { next = null } } }; var input1_l2 = new ListNode(1) { next = new ListNode(3) { next = new ListNode(4) { next = null } } }; var expected1 = new ListNode(1) { next = new ListNode(1) { next = new ListNode(2) { next = new ListNode(3) { next = new ListNode(4) { next = new ListNode(4) { next = null } } } } } }; var actual1 = mergeTwoSortedList.MergeTwoLists(input1_l1, input1_l2); while (expected1.next != null && actual1.next != null) { Assert.AreEqual(expected1.val, actual1.val); expected1 = expected1.next; actual1 = actual1.next; } }
public void TestMergeKSortedList() { var head1 = MyLinkList.BuildListNodeFromArray(new[] { 1, 4, 5 }); var head2 = MyLinkList.BuildListNodeFromArray(new[] { 1, 3, 4 }); var head3 = MyLinkList.BuildListNodeFromArray(new[] { 2, 6 }); var head4 = MyLinkList.BuildListNodeFromArray(new[] { 7 }); var head5 = MyLinkList.BuildListNodeFromArray(new[] { 8 }); var head6 = MyLinkList.BuildListNodeFromArray(new[] { 9 }); var head7 = MyLinkList.BuildListNodeFromArray(new[] { 10 }); var head8 = MyLinkList.BuildListNodeFromArray(new[] { 11 }); var head9 = MyLinkList.BuildListNodeFromArray(new[] { 12 }); var headX = MergeTwoSortedList.MergeKSortedMyLinkList(new[] { head1, head2, head3, head4, head5, head6, head7, head8, head9 }); Assert.AreEqual(headX.Length(), 14); }