如何在单个for循环中反转链表?

时间:2012-09-16 10:52:37

标签: c++

  

可能重复:
  Reverse a singly linked list

如何在单个for循环中反转单链表?这是在采访中提出的问题。

1 个答案:

答案 0 :(得分:1)

在伪代码中,这看起来像:

// Cache the start element
current = first;
next = current->next;
while (next != null) {
   // Cache the next pointer to not lose the reference
   temp = next->next;
   next->next = current;
   // Increment
   current = next;
   next = temp;
}
first = current;

我知道它不在for循环中,但很容易被重写。随着它,它使它更具可读性。