美文网首页
删除单向链表指定节点

删除单向链表指定节点

作者: 冉桓彬 | 来源:发表于2020-03-01 11:55 被阅读0次

给定单向链表的一个头指针和节点指针,定义一个函数在O(1)时间删除该节点。

public class ListNode {
    public int value;
    public ListNode next;
}
public class Test {
    public void test(ListNode headNode, ListNode targetNode) {
        if (headNode == null || targetNode == null) {
            return;
        }
        if (headNode == targetNode) {//目标节点是头节点
            headNode = headNode.next;
            return;
        }
        if (targetNode.next == null) {//目标节点是尾节点
            ListNode tmp = head;
            while(tmp.next != targetNode) {
                tmp = tmp.next;
            }
            tmp.next = null;//删除targetNode;
        } else {//目标节点是中间节点
            ListNode tmp = head;
            while(tmp.next != targetNode) {
                tmp = tmp.next;
            }
            tmp.next = tmp.next.next;//删除targetNode;
            targetNode = null;
        }
    }
}

相关文章

  • 删除单向链表指定节点

    给定单向链表的一个头指针和节点指针,定义一个函数在O(1)时间删除该节点。

  • 1.单链表常用操作

    1.删除单链表中的指定节点 2.删除单链表中指定值的节点 (1). 利用栈删除单链表指定值的节点 (2). 用普通...

  • 单向链表算法

    单向链表 反转单向链表 单链表查找倒数第k个节点 单链表递归倒序打印 单链表排序 单链表删除重复节点

  • 算法相关笔记,持续更新中...

    单链表 1.删除单链表中的指定节点: 2.单链表中删除指定数值的节点方法一:利用栈 3.单链表中删除指定数值的节点...

  • c语言插入删除链表

    1.题目描述 输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。...

  • python 循环单向链表

    单向循环链表python实现 循环链表实现 头节点添加 尾节点添加 插入 删除 查找

  • 面试题18. 删除链表的节点

    删除链表的节点 题目描述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的...

  • LeetCode 每日一题 [51] 除链表的节点

    LeetCode 删除链表的节点 [] 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回...

  • 数据结构-单向链表

    单向链表的结构 Node节点 根据index获取节点 添加 删除 获取index位置的元素 清空 虚拟头节点的单向...

  • 链表相关

    总结一下链表相关的操作 单链表节点的定义 实现单向链表的反向 删除单链表的所有节点

网友评论

      本文标题:删除单向链表指定节点

      本文链接:https://www.haomeiwen.com/subject/qkffkhtx.html