logo CodeStepByStep logo

You are working on problem set: Week 5 Section ( Pause)

doubleList

Language/Type: C++ linked lists pointers

Write a function named doubleList that accepts as a parameter a reference to a pointer to a ListNode representing the front of a linked list. Your function should double the size of a list by appending a copy of the original sequence to the end of the list. For example, if a variable named front points to the front of a list containing the following values:

{1, 35, 28, 7}

Then the call of doubleList(front); should modify the list to store the following values:

{1, 35, 28, 7, 1, 35, 28, 7}

Constraints: Do not use any auxiliary data structures to solve this problem (no array, vector, stack, queue, string, etc). If the original list contains N nodes, then you should construct exactly N new nodes to be added. Do not modify the data field of existing nodes; change the list by changing pointers only.

Assume that you are using the ListNode structure as defined below:

struct ListNode {
    int data;         // value stored in each node
    ListNode* next;   // pointer to next node in list (nullptr if none)
}
Function: Write a C++ function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? .

If something seems wrong with our site, please

Is there a problem? Contact us.