forked from fishercoder1534/Leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_237.java
24 lines (19 loc) · 929 Bytes
/
_237.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.fishercoder.solutions;
import com.fishercoder.common.classes.ListNode;
/**237. 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 -> 4 after calling your function.
*/
public class _237 {
/**We're not really deleting the node, but we're overwriting this node's value with its successor's value,
* and then append its successor's successor to its new successor.
*
* In graph, it's like this:
* Given this list: 1->2->3->4->null and only access to this to-be-deleted node 3
* we overwrite 3 with 4, and then assign null to be 4's next.*/
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}