1、题目描述

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

2、思路及代码

/**

如果当前链表只有一个节点或者为空,那么返回该节点就ok;

如果当前节点重复节点的话,跳过,一直到找到非重复的节点。递归下去。

如果当前节点非重复的话,保留当前节点,从下一个节点开始递归。

**/

/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}
};
*/
class Solution {
public:ListNode* deleteDuplication(ListNode* pHead){if(pHead == nullptr || pHead->next == nullptr) return pHead;if(pHead->val == pHead->next->val){ListNode* pNode = pHead->next;while(pNode != nullptr && pNode->val == pHead->val){pNode = pNode->next;}return deleteDuplication(pNode);}else{pHead->next = deleteDuplication(pHead->next);return pHead;}}
};

转载于:https://www.cnblogs.com/haley0125/p/8532646.html

删除链表中重复的节点相关推荐

  1. python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...

    一. 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 二. 例子 输入链表:1->2->3->3->4->4-&g ...

  2. 面试题18: 删除链表节点:删除链表中重复的节点

    /******************************************************************* *<剑指Offer--名企面试官精讲典型编程题>C ...

  3. python删除链表中重复的节点_剑指offer:删除链表中重复的节点

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

  4. python实现剑指offer删除链表中重复的节点

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

  5. 《剑指offer》删除链表中重复的节点

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

  6. 剑指offer.删除链表中重复的节点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留. 样例1 输入:1->2->3->3->4->4->5输出:1->2-> ...

  7. 删除链表重复节点 python_java删除链表中重复的节点(保留一个节点)

    两种方法实现: package cn.exercise.list; import java.util.HashMap; /** * 删除链表重复节点(重复节点只保留一个) */ public clas ...

  8. python删除链表中重复的节点_删除链表中所有值与Python相同的节点的程序

    假设我们有一个单链接列表和一个目标,则在删除所有值与目标相同的节点后,我们必须返回相同的链接. 因此,如果输入类似于[5,8,2,6,5,2,9,6,2,4],则输出将为[5.8.6.5.9.6.4, ...

  9. 剑指offer 66题 -- 删除链表中重复的节点

    /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ ...

最新文章

  1. 如何理解soft target这一做法?
  2. C#基础笔记(第九天)
  3. 第九届蓝桥杯java B组—第二题方格计数(详细介绍)
  4. vi中如何实现批量替换
  5. PHP中插件机制的一种实现方案
  6. Kubernetes的Device Plugin设计解读
  7. 小米用户画像_腾讯企鹅智库发布手机品牌用户画像:华为一二线城市用户少于小米...
  8. pytorch学习笔记(十五):模型构造
  9. 固态硬盘linux提升,分析如何提升Linux的固态硬盘使用率?
  10. 混动汽车HEV混合驱动的MPC控制
  11. U盘打不开的常见原因有哪些?
  12. 关于使用克莱姆法则和矩阵消元法解线性方程组的效率的比较
  13. Python之OpenGL笔记(30):飘扬的旗帜
  14. Elasticsearch7.8
  15. 上下定高 中间自适应_css经典布局——头尾固定高度中间高度自适应布局
  16. 超声波传感器(CH101ch201) - Ⅱ
  17. 易推影视推手系统,支持苹果v8 v10影视系统
  18. 华为荣耀android是什么系统,华为荣耀Magic自主系统梦碎 还是Android操作系统
  19. 浏览器小知识之火狐(Firefox)浏览器
  20. 串行 RapidIO接口介绍

热门文章

  1. windows系统通过git上传代码
  2. 《了凡四训》,仅仅12句,改变你的命运
  3. oracle主键重复异常捕获,Oracle异常处理异常处
  4. 广西大学计算机硕导名单,导师-广西大学研究生院
  5. 基于virtualbox的centos7安装jdk1.8
  6. sap模块介绍_一分钟掌握SAP小知识-系统基本操作
  7. python中tkinter模块_使用Python中的tkinter模块作图的方法
  8. php表单yii2,yii2教程-ActiveForm表单组件
  9. dataman软件设置中文_S7200 SMART软件常见错误处理办法
  10. 使用Ueditor点击上传图片时显示延迟的问题