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);

发布了21 篇原创文章 · 获赞 9 · 访问量 560

猜你喜欢

转载自blog.csdn.net/weixin_45328602/article/details/101635378