【发布时间】:2019-03-02 15:17:58
【问题描述】:
谁能解释下面的代码,尤其是循环中的代码?
我想知道为什么我不能将Next->next 指向current 来连接节点。
void reverse(){
Node *reverse = head;
Node *prev = NULL, *Next, *current;
current = reverse;
while(current != NULL){
Next = current->next;
current->next = prev;
Next->next = current;
}
head = current;
}
【问题讨论】:
-
您没有在循环中更新
prev,所以prev始终是NULL。 -
所以你循环(使用
while)直到current为NULL。然后你做head = current;现在你认为head的价值是什么?
标签: c linked-list reverse singly-linked-list