x

Reverse Linked List

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;
    }
}
Left-click: follow link, Right-click: select node, Scroll: zoom
x