Question: Please explain why the answer is what is is thoroughly. I am trying to study for my test. I will make sure to thumbs up!

Please explain why the answer is what is is thoroughly. I am trying to study for my test. I will make sure to thumbs up! thank you very much for your time
struct node *move_last_to_first(struct node *list) {
struct node* prev, *cur;
if(list == NULL) return list; //the list is empty
for(prev = NULL, cur=list; cur->next !=NULL; prev = cur, cur = cur->next)
;
if(prev == NULL) //there is only one node in the list return list;
else{ prev ->next = NULL; cur ->next = list; return cur;
} }
18. Write the following function: struct node *move last to first(struct node *list); The list parameter points to a linked list of the following structure. struct node int value; struct node next The function should move the last node to be the head of the list, before the first node. The function should return a pointer to the head of the updated linked list
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
