回答:
对于代码中的“next”指针,它应该被定义为指向链表中当前节点的下一个节点的指针。因此,如果你正在处理第一个节点,那么“next”指针应该指向第二个节点的地址。
示例代码:
struct ListNode* reverseList(struct ListNode* head){
struct ListNode *cur, *newhead;
if(head == NULL){
return NULL;
}
cur = head->next;
newhead = head;
newhead->next = NULL;
while(cur != NULL){
struct ListNode *tmp = cur->next;
cur->next = newhead;
newhead = cur;
cur = tmp;
}
return newhead;
}
cur->next是第二个
newhead = cur,
随着循环的继续,newhead不断指向后面的节点,到最后指向原来链表的第一个
迭代可以理解为就是循环,cur是循环往后遍历节点每一次循环的那个当前节点