(left, right)
| 29 | |
| 30 | # Merge two sorted linked lists |
| 31 | def merge(left, right): |
| 32 | if not left: |
| 33 | return right |
| 34 | if not right: |
| 35 | return left |
| 36 | |
| 37 | if left.data < right.data: |
| 38 | result = left |
| 39 | result.next = merge(left.next, right) |
| 40 | else: |
| 41 | result = right |
| 42 | result.next = merge(left, right.next) |
| 43 | |
| 44 | return result |
| 45 | |
| 46 | |
| 47 | # Merge sort for linked list |