Программа курса:
Задача 7: Разворот связного списка
Напишите определение функции reverse_list(head), которая принимает голову односвязного списка head и возвращает его развернутый список.
Односвязный список — это структура данных, где каждый элемент (узел) содержит значение и ссылку на следующий узел. Если список пуст, head будет равен None.
Класс узла списка задан следующим образом:
class ListNode(object):
def __init__(self, val=0, next=None):
self.val = val
self.next = next
Примеры работы функции
Пример 1:
Ввод:head = [1,2,3,4,5]
Вывод:[5,4,3,2,1]
Объяснение:
Исходный список:1 -> 2 -> 3 -> 4 -> 5 -> None
После выполнения функции reverse_list:5 -> 4 -> 3 -> 2 -> 1 -> None
Пример 2:
Ввод:head = [1,2]
Вывод:[2,1]
Объяснение:
Исходный список:1 -> 2 -> None
После выполнения функции reverse_list:2 -> 1 -> None
Пример 3:
Ввод:head = []
Вывод:[]
Объяснение:
Исходный список пустой:None
После выполнения функции reverse_list список остается пустым:None