Задано зв'язний список. Видаліть у ньому цикл. Якщо циклу немає, нічого не робіть.
Визначення зв'язного списку:
// 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;
};Реалізуйте функцію removeCycle, яка присвоює null вказівнику next хвоста і повертає вказівник на голову списку.
// Java
ListNode removeCycle(ListNode head)// C, C++
ListNode* removeCycle(ListNode *head)
Функція removeCycle видаляє вказівник хвоста (встановлює вказівник next хвоста рівним null) і повертає head:
