class Solution(object): def mergeTwoLists(self, list1, list2): if not list1: return list2 if not list2: return list1 result = None while list1 or list2: if not (list1 and list2): while list1: result = ListNode(list1.val,result) list1 = list1.next while list2: result = ListNode(list2.val,result) list2 = list2.next else: if list1.val < list2.val: result = ListNode(list1.val,result) list1 = list1.next else: result = ListNode(list2.val, result) list2 = list2.next result2 = None while result: result2 = ListNode(result.val,result2) result = result.next return result2