---
# System prepended metadata

title: 21. Merge Two Sorted Lists

---

# 21. Merge Two Sorted Lists
### python
```python=
class Solution:
    def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
        cur= dummy = ListNode()
        while list1 and list2:
            if list1.val < list2.val:
                cur.next = list1
                list1, cur = list1.next , list1
            else:
                cur.next = list2
                list2, cur = list2.next, list2
                
        if list1 or list2:
            if list1:
                cur.next = list1
            else:
                cur.next = list2
        # python三元運算式簡化
        # if list1 or list2:
        #     cur.next = list1 if list1 else list2          

        return dummy.next
```

## 解題思路：
使用while迴圈去比對兩個linked list大小，最後加上如果任一linked list為空的例外狀況