Reverse Linked List (iterative)

Reverse a singly-linked list iteratively.

Examples

L = null, return null
L = 1 -> null, return 1 -> null
L = 1 -> 2 -> 3 -> null, return 3 -> 2 -> 1 -> null

class Solution(object):
  def reverse(self, head):
    if not head:
      return None
    p = head
    q = head.next
    while q:
      head.next = q.next
      q.next = p
      p = q
      q = head.next
    return p

你可能感兴趣的:(Reverse Linked List (iterative))