diff --git a/021_Merge_Two_Shorted_List.py b/021_Merge_Two_Shorted_List.py new file mode 100644 index 0000000..415a1e4 --- /dev/null +++ b/021_Merge_Two_Shorted_List.py @@ -0,0 +1,39 @@ +# Definition for singly-linked list. +class ListNode: + def __init__(self, x): + self.val = x + self.next = None + + def __repr__(self): + if self: + return "{} -> {}".format(self.val, self.next) + + +class Solution: + def mergeTwoLists(self, l1, l2): + dummy = ListNode(0) + current = dummy + + while l1 and l2: + if l1.val < l2.val: + current.next = l1 + l1 = l1.next + else: + current.next = l2 + l2 = l2.next + current = current.next + + if l1: + current.next = l1 + else: + current.next = l2 + + return dummy.next + + +if __name__ == "__main__": + l1 = ListNode(0) + l1.next = ListNode(1) + l2 = ListNode(2) + l2.next = ListNode(3) + print(Solution().mergeTwoLists(l1, l2))