Goldman Sachs interview question

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

Interview Answers

Anonymous

1 Sept 2010

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

13

Anonymous

17 Mar 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

Anonymous

25 Oct 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

Anonymous

21 Oct 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

Anonymous

25 Nov 2019

node = node.next;

Anonymous

25 Nov 2019

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

Anonymous

8 Mar 2016

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

1

Anonymous

31 July 2010

You have to use some pointer/memory trickery