How to delete a node from a singly linked list , given access to only that node ?
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Given linked list — head = [4,5,1,9], which looks like following:
Example 1:
Input: head = [4,5,1,9], node = 5 Output: [4,1,9] Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function.
Example 2:
Input: head = [4,5,1,9], node = 1 Output: [4,5,9] Explanation: You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function.
goli202084 Changed status to publish
Below is a simple Javascript code , which is self explanatory
/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} node * @return {void} Do not return anything, modify node in-place instead. */ var deleteNode = function(node) { var currVal = node.val; var nextVal = node.next.val; // swap curr node value with next node value var temp = currVal; node.val = nextVal; node.next.val = temp; // move curr node pointer to next next node node.next = node.next.next; };
goli202084 Answered question