Pergunta de entrevista da empresa Goldman Sachs

How to remove a node from a singly-linked list when only given the pointer to the node

Respostas da entrevista

Sigiloso

1 de set. de 2010

thisNode.data = thisNode.next.data temporaryNode = thisNode.next.next delete thisNode.next thisNode.next = temporaryNode

13

Sigiloso

17 de mar. de 2011

Milly: jobseeker is right in that you don't delete the "node to be deleted". You delete the node that FOLLOWS the "node to be deleted", only after swapping the values of the two.

2

Sigiloso

25 de out. de 2010

Milly, jobseeker's assumption is reasonable, we should not delete the node before removing it from the list (if it was created by the list)

1

Sigiloso

21 de out. de 2010

The post by "jobseeker" assumes that we know the node BEFORE the node to be deleted. This assumption is not consistent with the problem definition, but makes it solvable.

2

Sigiloso

25 de nov. de 2019

node = node.next;

Sigiloso

25 de nov. de 2019

node.val = node.next.val; node.next = node.next.next;

Sigiloso

8 de mar. de 2016

node ->val=node->next->val; node ->next=node->next->next;

1

Sigiloso

31 de jul. de 2010

You have to use some pointer/memory trickery