Знайдіть точку перетину двох зв'язаних списків. Поверніть вказівник на вузол, з якого починається перетин цих списків.
Визначення зв'язаного списку:
// Java
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}// C++
class ListNode
{
public:
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};// C
struct ListNode
{
int val;
struct ListNode *next;
};Реалізуйте функцію intersection, яка повертає вказівник на вузол, з якого починається перетин двох зв'язаних списків.
// Java
ListNode intersection(ListNode l1, ListNode l2)// C, C++
ListNode* intersection(ListNode *l1, ListNode *l2)
Функція intersection повинна повернути вказівник на вузол зі значенням 7.