我正在尝试编写一个递归函数,它将线性链表中的第一个和最后一个节点数据相加并返回结果。但是,我似乎只是获得了第一个的价值。请帮忙
int sum(node * & head)
{
if(!head)
return 0;
if(!head->next)
return head->data;
return sum(head->next);
return head->data + sum(head->next);
}
答案 0 :(得分:2)
这是对语言的简单理解:
return sum(head -> next);
// This will never execute because of the above return^
return head -> data + sum(head -> next);