public void MergeKLists() { var a5 = new ListNode(5); var a6 = new ListNode(6); var a7 = new ListNode(7); a5.Next = a6; a6.Next = a7; var l1 = a5; var b1 = new ListNode(1); var b9 = new ListNode(9); var b10 = new ListNode(10); var b20 = new ListNode(20); b1.Next = b9; b9.Next = b10; b10.Next = b20; var l2 = b1; var c2 = new ListNode(2); var c9 = new ListNode(9); c2.Next = c9; var l3 = c2; var sut = new MergeKSortedLists(); var actual = sut.MergeKLists(new[] { l1, l2, l3 }); var expected = b1; Assert.AreEqual(expected, actual); }
public void MergeKSortedLists_ShouldMerge(int[] expected, params int[][] sourceArrays) { var lists = sourceArrays.Select(MergeKSortedLists.CreateLinkedList).ToArray(); var task = new MergeKSortedLists(); var actual = task.MergeKLists(lists).ToArray(); Assert.AreEqual(expected, actual); }
public void Given_2_linked_list_When_merged_Then_return() { ListNode node1 = new ListNode(1) { next = new ListNode(3) }; ListNode node2 = new ListNode(2) { next = new ListNode(4) }; var result = MergeKSortedLists.MergeKLists(new ListNode[] { node1, node2 }); Assert.AreEqual(1, result.val); Assert.AreEqual(2, result.next.val); Assert.AreEqual(3, result.next.next.val); Assert.AreEqual(4, result.next.next.next.val); }