Здійсніть злиття двох відсортованих зв'язаних списків і поверніть вказівник на новий список. Новий список має бути сформований шляхом об'єднання вершин двох наявних списків за допомогою вказівників.
Ось визначення зв'язаного списку:
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}class ListNode {
public:
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};Реалізуйте функцію merge, яка зливає два зв'язаних списки.
ListNode merge(ListNode l1, ListNode l2)ListNode* merge(ListNode *l1, ListNode *l2)