例如有一个链表[4 5 1 9]
我们要指定删除值为1的第三个节点
这里我们采用伪删除的方法,第四个节点的值9赋给第三个节点,再将第四个节点删除

/**
* 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;
}
}
此方法时间和空间复杂度都为O(1)

本文介绍了一种链表中节点的伪删除方法,通过将待删节点的下一个节点值复制到当前节点,然后删除下一个节点,实现O(1)的时间和空间复杂度。这种方法适用于需要快速删除链表中特定节点的场景。
1716

被折叠的 条评论
为什么被折叠?



