Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. # Singly-linked lists are already defined with this interface:
  2. # class ListNode(object):
  3. # def __init__(self, x):
  4. # self.value = x
  5. # self.next = None
  6. #
  7. def mergeTwoLinkedLists(l1, l2):
  8.  
  9. if l1 == None and l2 == None:
  10. return None
  11.  
  12. merged = ListNode(None)
  13. ret = merged
  14. # prev = merged.value
  15. while l1 != None or l2 != None:
  16. if l1 != None:
  17. if l2 == None and l1.next == None:
  18. merged.value = l1.value
  19. break
  20. if l2 != None:
  21. if l1 == None and l2.next == None:
  22. merged.value = l2.value
  23. break
  24.  
  25. m1 = l2.value if l1 == None else l1.value
  26. m2 = l1.value if l2 == None else l2.value
  27. val = min(m2 if m1 == None else m1, m1 if m2 == None else m2)
  28.  
  29. merged.next = ListNode(None)
  30. merged.value = val
  31. merged = merged.next
  32.  
  33.  
  34. if l1 != None and val >= l1.value:
  35. l1=l1.next
  36. elif l2 != None and val >= l2.value:
  37. l2=l2.next
  38.  
  39.  
  40. return ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement