java 单链表链表伪删除

只知道要删除的一个节点
怎么做到 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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章