In: Computer Science
Write a recursive function in C++ that creates a copy of an array of linked lists.
Assuming:
struct node
{
int data;
node * next;
};
class arrayList
{
public:
arrayList();
~arrayList();
private:
node ** head;
int size; //(this can equal 10)
}
arrayList *copy() {
        arrayList result = new arrayList;
        result->size = size;
        result->head = new node*[size];
        
        int i=0;
        while(i < size) {
                node *newHead = NULL;
                node *newTail = NULL;
                
                node *ptr = head[i];
                while(ptr != NULL) {
                        node *newNode = new node();
                        newNode->data = ptr->data;
                        newNode->next = NULL;
                        
                        if(newHead != NULL) {
                                newTail->next = newNode;
                                newTail = newNode;
                        } else {
                                newHead = newNode;
                                newTail = newNode;
                        }
                        
                        ptr = ptr->next;
                }
                
                result->head[i] = newHead;   
        }
        return result;
}
plz let me know if any issues, Thanks!