【发布时间】:2021-08-13 10:06:01
【问题描述】:
*SinglyLinkedListNode* insertNodeAtTail(SinglyLinkedListNode* head, int data) {
SinglyLinkedListNode *t=new SinglyLinkedListNode(data);
SinglyLinkedListNode *last{head};
if(head==nullptr)
{
head=t;
return head;
}
else if(last->next==nullptr)
{
last->next=t;
last=t;
return head;
}
else
{
while(last)
{
if(last->next==nullptr)
{
last->next=t;
last=t;
return head;
}
last=last->next;
}
}
}
此函数将一个节点添加到链表的末尾。 如果我在 if-else 块之外编写 return 语句,则工作正常,但如上所述,它会给出错误。 为什么?
【问题讨论】:
-
你想做
t->next = nullptr。