Привет, мне нужно сделать рекурсивную функцию, которая принимает на вход заголовок списка и суммирует для каждого узла все узлы, которые идут после этого узла. Пример, если список 1-> 2-> 3, список будет изменен в 6-> 5-> 3. Я сделал итеративную функцию, которая работает хорошо, но я понятия не имею, как сделать рекурсивную функцию, вы можете помочь? Это итеративный:
int modify(node *head){
node **curr;
node *track = head;
int i;
while (track->next != NULL){
*curr = (track)->next;
while((*curr)->next != NULL){
track->val += (*curr)->val;
*curr = (*curr)->next;
}
track = track->next;
}
track = head;
while (track->next != NULL){
printf("%d ",track->val);
track = track->next;
}
printf("\n");
return head->val;
}