只知道要删除的一个节点
怎么做到 O(1) 的时间复杂度删除掉它?
试试伪删除:
/**
* 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;
}
}
快 get!!!
否则 得循环遍历链表找到node之前的节点 再删除它
时间复杂度 O(n);