Pergunta de entrevista da empresa Bloomberg

Deep Copy Linked List

Resposta da entrevista

Sigiloso

16 de ago. de 2017

//Deep Copy Linked List class Node { public: int value; Node* next; Node(int v) : value(v), next(NULL){} void setNext(Node* inNewNext) { next = inNewNext; } } Node* deepCopyLL(Node* head) { if(head == NULL) { return NULL; } //create a newLL and return the new head Node* prevNewNode = new Node(head->value); Node* newHead = prevNewNode; Node* currentNode = head->next; while(currentNode != NULL) { Node *newNode = new Node(currentNode->value); prevNewNode.setNext(newNode); prevNewNode = newNode; currentNode = currentNode->next; } return newHead; }