The solutions for LeetCode problems in C++ and Python.
LinkedList
No.21 Merge Two Sorted Lists
“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.”
Time Complexity: O(m+n)
Space Complexity: O(1)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(nullptr) {}
};
class Solution {
public:
    ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) {
        ListNode *dummy = new ListNode(0);
        ListNode *tail = dummy;
        while (l1 && l2) {
            if (l1->val < l2->val) {
                tail->next = l1;
                l1 = l1->next;
            } else {
                tail->next = l2;
                l2 = l2->next;
            }
            tail = tail->next;
        }
        tail->next = l1 ? l1 : l2;
        return dummy->next;
    }
};
| 1 | class ListNode: | 
No.83 Remove Duplicates from Sorted List
“Given a sorted linked list, delete all duplicates such that each element appear
only once.”
| 1 | struct ListNode { | 
| 1 | class ListNode: | 
 
            
           
            
           
          
           
            
          