Вася решил запутать маму —– делать дела в обратном порядке. Список его дел теперь хранится в двусвязном списке. Напишите функцию, которая вернёт список в обратном порядке.
Внимание: в этой задаче не нужно считывать входные данные. Нужно написать только функцию, которая принимает на вход голову двусвязного списка и возвращает голову перевёрнутого списка. Ниже дано описание структуры, которая задаёт вершину списка.
Решение надо отправлять только в виде файла с расширением, которое соответствует вашему языку. Иначе даже корректно написанное решение не пройдёт тесты.
Функция принимает на вход единственный аргумент — голову двусвязного списка. Длина списка не превосходит 1000 элементов. Список не бывает пустым.
Следуйте следующим правилам при отправке решений:
- Нужно выбирать компилятор Make.
- Решение нужно отправлять в виде файла с расширением соответствующем вашему языку программирования.
- Для Java файл должен называться Solution.java, для C# – Solution.cs
- Для остальных языков программирования это имя использовать нельзя (имя «solution» тоже).
- Для Go укажите package main.
package main
type ListNode struct {
data string
next *ListNode
prev *ListNode
}
func Solution(node *ListNode) *ListNode {
//...
}
Ваша функция должна иметь сигнатуру func Solution(node *ListNode) *ListNode.
Функция должна вернуть голову развернутого списка.