美文网首页
链表-链表删除

链表-链表删除

作者: 爱玩保龄球 | 来源:发表于2020-12-08 08:12 被阅读0次

链表删除注意点

  • 链表作为函数出口返回
  • 删除首节点
  • 删除中间节点注意保护

代码实现

struct ListNode{
    int val;
    ListNode *next;
    ListNode(int x):val(x),next(nullptr){}
};
void deleteListNode(ListNode **pHead, int value){
    ListNode *pToBeDelete = nullptr;
    if(pHead == NULL || *pHead == NULL){
        return ;
    }
    //想要删除的节点为第一个节点
    if((*pHead)->val == value){
        pToBeDelete = *pHead;
        *pHead = (*pHead)->next;
    }else{
        ListNode *pNode = *pHead;
        while (pNode->next != nullptr && pNode->next->val != value) {
            pNode = pNode->next;
            if(pNode->next != nullptr && pNode->next->val == value){
                pToBeDelete = pNode->next;
                pNode->next = pNode->next->next;
            }
            
        }
    }
    if(pToBeDelete != nullptr){
        delete pToBeDelete;
        pToBeDelete = nullptr;
    }
}

相关文章

  • 1.数据结构-链表问题

    链表相关问题 删除节点 链表去重 有环链表 反转链表 链表排序 链表相交 其他问题 面试题 02.03. 删除中间...

  • 链表相关算法 - go语言实现

    链表结构 反转链表 (移除节点)删除链表中等于给定值 val 的所有节点 合并两个有序链表 链表成环检测 删除链表...

  • python数据结构——单链表

    链表 python实现链表链表的初始化创建元素的插入和删除链表的遍历元素的查询链表的删除链表的逆序判断链表是否有环...

  • 双向链表&双向循环链表

    一、双向链表 带有前驱结点、后区节点 双向链表的创建 双向链表插入-逻辑 双向链表删除 删除双向链表指定的元素 二...

  • js+链表

    链表结构 删除链表某节点 遍历 反转单链表

  • leecode刷题(21)-- 删除链表的倒数第N个节点

    leecode刷题(21)-- 删除链表的倒数第N个节点 删除链表的倒数第N个节点 描述: 给定一个链表,删除链表...

  • 数据结构与算法之链表面试题(四)

    目录 删除链表中的节点反转一个链表递归实现迭代(非递归)实现 一 删除链表中的节点 237. 删除链表中的节点 说...

  • 2018-07-26

    合并有顺序的数组 打印两个有序链表的公共部分 在单链表和双链表中删除倒数第k个节点 单链表 双链表 删除链表的中间...

  • 链表

    链表 缺点:查找复杂有点:定点删除/插入元素 单链表 双向链表 循环链表 双向循环链表 数组与链表的区别 数据存储...

  • 18-删除链表节点、删除链表重复节点

    1. 删除链表节点 2. 删除链表中的重复节点 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没...

网友评论

      本文标题:链表-链表删除

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