Topic
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:
4 -> 5 -> 1 -> 9
Solution Ideas
The topic did not read the series ...
This problem let us delete a linked list of a node, more often different is, did not give us the starting point of the list, only give us a node to delete, and we have encountered the situation is not the same, we have to delete a node before the method is to have its previous node location, Then the next of its previous node is connected to the next one to be truncated, and then delete the node to be deleted. This problem is handled by first the value of the current node is overwritten with the value of the next node, and then we delete the next node, the code is as follows:
Code
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public void deleteNode(ListNode node) { node.val=node.next.val; node.next=node.next.next; }}
[Leetcode]237.delete Node in a Linked List