Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(head == NULL){
- return NULL;
- }
- struct node* newList = (struct node*) malloc(sizeof(struct node));
- if(newList == NULL){
- return NULL;
- }
- struct node * newTemp = newList;
- struct node * newTempNext;
- struct node * temp = head;
- memcpy(newTemp,temp,sizeof(struct node));
- int i = 1;
- while(temp != NULL){
- if(i%2 == 0){
- newTempNext = (struct node*) malloc(sizeof(struct node));
- if(newTempNext == NULL){
- free(newList);
- return NULL;
- }
- memcpy(newTempNext,temp,sizeof(struct node));
- newTemp->next = newTempNext;
- newTemp = newTempNext;
- if((temp->next)->next == NULL){
- newTemp->next = NULL;
- return newList;
- }
- }
- i++;
- temp = temp -> next;
- }
- return newList;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement