你好,对于没有头结点的情况下,cur-next指针应该指向第二个结点。因为在没有头结点的情况下,第一个结点就是整个链表的起始节点,我们需要对其进行反转操作,同时也需要将cur-next指针指向下一个节点,即第二个结点。以下是修改后的代码,可供参考:
struct ListNode* reverseList(struct ListNode* head) {
if(head == NULL || head->next == NULL) {
return head;
}
struct ListNode *prev, *cur, *next;
prev = NULL;
cur = head;
next = head->next;
while(next != NULL) {
cur->next = prev;
prev = cur;
cur = next;
next = next->next;
}
cur->next = prev;
return cur;
}
在这个代码里,cur就是第一个结点,next就是第二个结点。
cur指向第一个,而cur->next指向第二个