def twoSimpoleList_test(self): l1node1 = ListNode(1) l1node2 = ListNode(2) l1node3 = ListNode(4) l1node1.next = l1node2 l1node2.next = l1node3 l2node1 = ListNode(1) l2node2 = ListNode(3) l2node3 = ListNode(4) l2node1.next = l2node2 l2node2.next = l2node3 resultNode1 = ListNode(1) resultNode2 = ListNode(1) resultNode3 = ListNode(2) resultNode4 = ListNode(3) resultNode5 = ListNode(4) resultNode6 = ListNode(4) resultNode1.next = resultNode2 resultNode2.next = resultNode3 resultNode3.next = resultNode4 resultNode4.next = resultNode5 resultNode5.next = resultNode6 solution = Solution() result = solution.mergeTwoLists(l1node1, l2node1) compareResult = resultNode1.equalTo(result) self.assertTrue(compareResult)
def more_than_2_gruops_one_node_left_test(self): node1 = ListNode(1) node2 = ListNode(2) node3 = ListNode(3) node4 = ListNode(4) node5 = ListNode(5) node6 = ListNode(6) node7 = ListNode(7) node1.next = node2 node2.next = node3 node3.next = node4 node4.next = node5 node5.next = node6 node6.next = node7 k = 3 expectedNode1 = ListNode(3) expectedNode2 = ListNode(2) expectedNode3 = ListNode(1) expectedNode4 = ListNode(6) expectedNode5 = ListNode(5) expectedNode6 = ListNode(4) expectedNode7 = ListNode(7) expectedNode1.next = expectedNode2 expectedNode2.next = expectedNode3 expectedNode3.next = expectedNode4 expectedNode4.next = expectedNode5 expectedNode5.next = expectedNode6 expectedNode6.next = expectedNode7 solution = Solution() actualResult = solution.swapInKGruop(node1, k) self.assertTrue(expectedNode1.equalTo(actualResult))
def example_k_is_3_test(self): node1 = ListNode(1) node2 = ListNode(2) node3 = ListNode(3) node4 = ListNode(4) node5 = ListNode(5) node1.next = node2 node2.next = node3 node3.next = node4 node4.next = node5 k = 3 expectedNode1 = ListNode(3) expectedNode2 = ListNode(2) expectedNode3 = ListNode(1) expectedNode4 = ListNode(4) expectedNode5 = ListNode(5) expectedNode1.next = expectedNode2 expectedNode2.next = expectedNode3 expectedNode3.next = expectedNode4 expectedNode4.next = expectedNode5 solution = Solution() actualResult = solution.swapInKGruop(node1, k) self.assertTrue(expectedNode1.equalTo(actualResult))
def oneNodeList_test(self): l1node1 = ListNode(1) l2node1 = ListNode(2) resultNode1 = ListNode(1) resultNode2 = ListNode(2) resultNode1.next = resultNode2 solution = Solution() result = solution.mergeTwoLists(l1node1, l2node1) compareResult = resultNode1.equalTo(result) self.assertTrue(compareResult)
def odd_length_test(self): node1 = ListNode(1) node2 = ListNode(2) node3 = ListNode(3) node1.next = node2 node2.next = node3 resultNode1 = ListNode(2) resultNode2 = ListNode(1) resultNode3 = ListNode(3) resultNode1.next = resultNode2 resultNode2.next = resultNode3 solution = Solution() actualResult = solution.swapPairs(node1) self.assertTrue(resultNode1.equalTo(actualResult))
def example_test(self): node1 = ListNode(1) node2 = ListNode(2) node3 = ListNode(3) node4 = ListNode(4) node1.next = node2 node2.next = node3 node3.next = node4 resultNode1 = ListNode(2) resultNode2 = ListNode(1) resultNode3 = ListNode(4) resultNode4 = ListNode(3) resultNode1.next = resultNode2 resultNode2.next = resultNode3 resultNode3.next = resultNode4 solution = Solution() actualResult = solution.swapPairs(node1) self.assertTrue(resultNode1.equalTo(actualResult))
def example_test(self): item1node1 = ListNode(1) item1node2 = ListNode(4) item1node3 = ListNode(5) item1node1.next = item1node2 item1node2.next = item1node3 item2Node1 = ListNode(1) item2Node2 = ListNode(3) item2Node3 = ListNode(4) item2Node1.next = item2Node2 item2Node2.next = item2Node3 item3Node1 = ListNode(2) item3Node2 = ListNode(6) item3Node1.next = item3Node2 inputList = [item1node1, item2Node1, item3Node1] outputNode1 = ListNode(1) outputNode2 = ListNode(1) outputNode3 = ListNode(2) outputNode4 = ListNode(3) outputNode5 = ListNode(4) outputNode6 = ListNode(4) outputNode7 = ListNode(5) outputNode8 = ListNode(6) outputNode1.next = outputNode2 outputNode2.next = outputNode3 outputNode3.next = outputNode4 outputNode4.next = outputNode5 outputNode5.next = outputNode6 outputNode6.next = outputNode7 outputNode7.next = outputNode8 solution = Solution() # actualResult = solution.mergeKLists(inputList) actualResult = solution.mergeKListsWithPriorityQueue(inputList) compareResult = outputNode1.equalTo(actualResult) self.assertTrue(compareResult)
def orderOfTwoLists_test(self): l1node1 = ListNode(1) l1node2 = ListNode(3) l1node1.next = l1node2 l2node1 = ListNode(5) l2node2 = ListNode(7) l2node3 = ListNode(9) l2node1.next = l2node2 l2node2.next = l2node3 resultNode1 = ListNode(1) resultNode2 = ListNode(3) resultNode3 = ListNode(5) resultNode4 = ListNode(7) resultNode5 = ListNode(9) resultNode1.next = resultNode2 resultNode2.next = resultNode3 resultNode3.next = resultNode4 resultNode4.next = resultNode5 solution = Solution() result = solution.mergeTwoLists(l1node1, l2node1) compareResult = resultNode1.equalTo(result) self.assertTrue(compareResult)
def differerntLength_test(self): l1node1 = ListNode(1) l1node2 = ListNode(2) l1node1.next = l1node2 l2node1 = ListNode(1) l2node2 = ListNode(3) l2node3 = ListNode(4) l2node1.next = l2node2 l2node2.next = l2node3 resultNode1 = ListNode(1) resultNode2 = ListNode(1) resultNode3 = ListNode(2) resultNode4 = ListNode(3) resultNode5 = ListNode(4) resultNode1.next = resultNode2 resultNode2.next = resultNode3 resultNode3.next = resultNode4 resultNode4.next = resultNode5 solution = Solution() result = solution.mergeTwoLists(l1node1, l2node1) compareResult = resultNode1.equalTo(result) self.assertTrue(compareResult)