实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。

给定带删除的头节点和要删除的数字,请执行删除操作,返回删除后的头结点。链表中没有重复数字。

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};*/
class Remove {
public:
    ListNode* removeNode(ListNode* pHead, int delVal) {
        // write code here
        if (pHead->val == delVal) {
            ListNode *node = pHead->next;
            pHead->next = NULL;
            return node;
        }
 
        ListNode *previous = pHead;
        ListNode *current = pHead->next;
        while (current != NULL) {
            if (current->val == delVal) {
                previous->next = current->next;
                current->next = NULL;
            }
            previous = previous->next;
            current = current->next;
        }
        return pHead;
    }
};

删除链表中的某个结点相关推荐

  1. 【Java】牛客网 删除链表中重复的结点

    题目描述 : 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表 1->2->3->3->4->4->5 ...

  2. 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...

  3. 链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表

    删除链表中重复的结点 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {} ...

  4. 不带头节点的链表有哪些缺点_14. 删除链表中重复的结点

    删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4-> ...

  5. 剑指offer——面试题57:删除链表中重复的结点

    剑指offer--面试题57:删除链表中重复的结点 Solution1: 删两遍,自己想的破算法.理论上时间复杂度也是O(n)O(n)O(n),并非最优解. /* struct ListNode {i ...

  6. 链表2--JZ25复杂链表的复制JZ36两个链表的第一个公共结点JZ55链表中环的入口结点JZ56删除链表中重复的结点

    JZ25复杂链表的复制 >>点击此链接 JZ36两个链表的第一个公共结点 题目描述 输入两个无环的单链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他 ...

  7. 剑指offer:删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  8. 剑指Offer(Java实现)删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

  9. 删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针.例如,链表1->2->3->3->4->4->5 处理后为 ...

  10. 剑指offer之删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处理后 ...

最新文章

  1. apache httpd服务器403 forbidden的问题
  2. 两个自变量和一个因变量spss_多个自变量(包括离散变量和连续变量)对一个因变量的影响(SPSS:协方差分析)...
  3. C++之操作符重载和运算符重载
  4. android Activity 之间传递复杂对象
  5. 计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配
  6. 常见的Hadoop十大应用误解
  7. python的变量在使用前不需要先赋值_在赋值Python之前引用的另一个局部变量
  8. C++11 新特性整理 (1)
  9. 什么专业的会学python语言_还在纠结学什么编程语言吗?Python可能会“教”你做人...
  10. 算法解题方法:求和问题preSum方法
  11. POJ 3740 Easy Finding (DLX模板)
  12. 电子商务入门、实操、行业分析及公司案例等精彩系列问答有哪些?
  13. 第一次做web项目购物网站项目总结
  14. html5音乐播放器格式midi,html5音频标签是否非正式地包含.mid(MIDI)?
  15. 通信电子电路实验(一)—— 高频小信号调谐放大器电路设计
  16. 刻录软件nero序列号有效性的检测
  17. iOS开发最常用三方库集合Swift版(三方库、插件、博客等等)
  18. iPad连蓝牙鼠标鼠标滚动与屏幕相反的解决方法
  19. 去国外超市如何用英文表达你想要的东西?
  20. 如何制作优秀的数据可视化报告(学习篇)

热门文章

  1. 从多角度看软件系统需求(节选) 文/卢琳生
  2. mysql链接 及备份
  3. ARM9 S3C2440 定时器中断
  4. Wordvec_句子相似度
  5. GitHub预测2018年开源项目趋势
  6. Git/Github + TortoiseGit 使用教程
  7. 联想式查单词-YourDict
  8. MWC2010传递出什么信号?
  9. Http Status Code (http 状态号)
  10. windows2003配置ftp服务器