Leetcode Delete Node in a Linked List
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4after calling your function.
Analysis
This problem can be easily solved by replacing the current node’s value with its next node’s value, then delete the next node. If the current node is the last node, just set it as null.
Java Solution:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public void deleteNode(ListNode node) { if(node.next == null) node = null; node.val = node.next.val; node.next = node.next.next; } } |
Reference:
https://leetcode.com/problems/delete-node-in-a-linked-list/











