forked from fishercoder1534/Leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDeleteNodeInALinkedList.java
30 lines (24 loc) · 1.11 KB
/
DeleteNodeInALinkedList.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
25
26
27
28
29
30
package easy;
import classes.ListNode;
/**237. Delete Node in a Linked List QuestionEditorial Solution My Submissions
Total Accepted: 96741
Total Submissions: 218247
Difficulty: Easy
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.
Hide Company Tags Adobe Apple Microsoft
Hide Tags Linked List
Hide Similar Problems (E) Remove Linked List Elements
*/
public class DeleteNodeInALinkedList {
/**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;
}
}