Linked List
Linked List
1. Delete a node
public void deleteNodeWithDirectAccess(ListNode node) {
if (node == null || node.next == null) {
return;
}
node.val = node.next.val;
node.next = node.next.next;
} public void deleteNodeWithoutDirectAccess(ListNode head, ListNode node) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode preNode = dummy, curNode = head;
while (curNode != null) {
if (curNode == node) {
preNode.next = curNode.next;
return;
}
preNode = preNode.next;
curNode = curNode.next;
}
return dummy.next;
}2. Reverse the list
3. Split a list into two halves
Last updated