Question
Need to change the function to recursion. Thank you for your help! void remove(struct node **head_ref, int key) { struct node* temp = *head_ref, *prev;
Need to change the function to recursion.
Thank you for your help!
void remove(struct node **head_ref, int key) {
struct node* temp = *head_ref, *prev; prev = NULL;
if (temp != NULL && temp->data == key) { *head_ref = temp->next; free(temp); return; }
while (temp != NULL && temp->data != key) { prev = temp; temp = temp->next; }
if (temp == NULL) return;
prev->next = temp->next;
free(temp); }
int length(struct node*head) { int count = 0; // Initialize count struct node* current = head; // Initialize current while (current != NULL) { count++; current = current->next; } return count; }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started