Files
obsidian/АиСД/Задачи/LeetCode/Reverse Linked List.md
T
roma-dxunvrs f57762fd3b Init
2026-09-03 21:40:46 +03:00

717 B

Leetcode #206 | #Easy | Связный список | Два указателя

Идея

Указатель prev=null, cur, потом в цикле берем next и переставляем стрелочку. Важно: одна итерация - меняем только prev->cur на prev<-cur, к next не лезем

Big-O

  • Время O(N)
  • Память O(1)

Код

class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode prev = null, cur = head;
        while (cur != null) {
            ListNode next = cur.next;
            cur.next = prev;
            prev = cur;
            cur = next;
        }
        return prev;
    }
}