---
# System prepended metadata

title: 'Merge Two Sorted Lists <img src="https://img.shields.io/badge/-easy-brightgreen">'
tags: [data_structure_python]

---

---
tags: data_structure_python
---

#  Merge Two Sorted Lists <img src="https://img.shields.io/badge/-easy-brightgreen">

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

<ins>**Example:**</ins>

>Input: 1->2->4, 1->3->4
>Output: 1->1->2->3->4->4

## Solution

```python=
# Definition for singly-linked list.
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None

class Solution:
    def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
        if l1 == None:
            return l2
        elif l2 == None:
            return l1
        elif l1.val < l2.val:
            l1.next = self.mergeTwoLists(l1.next, l2)
            return l1
        else:
            l2.next = self.mergeTwoLists(l1, l2.next)
            return l2
```