Я уверен, что многие из вас видели эту проблему: отмените связанный список. Когда вы отмените связанный список, вы по сути изменяете направление, от которого переходит связанный список. Например, если у вас есть связанный список 1 -> 2 -> 3 -> 4, вы хотите составить связанный список 1 < – 2 < – 3 < – 4. Для этого вам нужна переменная, которую вы можете установить предыдущее значение. Вот мой код для этой проблемы:
def reverseList(head): prev = None while head: temp = head head = head.next temp.next = prev prev = temp return prev
Сначала вы устанавливаете переменную PREV на NO. Затем вы создаете цикл, который проходит через голову, которая содержит первое значение связанного списка. Вы устанавливаете временную переменную, равную текущему узлу. Затем вы устанавливаете текущий узел в следующий узел, чтобы пройти через связанный список, а Temp остается текущим узлом. Вы устанавливаете следующий указатель температуры (тока), равный PREV, который сначала нет, но затем он равен текущему узлу впоследствии. Затем вы повторяете. Например, используя 1 -> 2 -> 3 -> 4 И вот как вы отмените связанный список.
Оригинал: “https://dev.to/xshirl/reverse-a-linked-list-leetcode-573e”