剑指offer 删除链表中重复的结点
来源:互联网 发布:精彩返奖统计软件 编辑:程序博客网 时间:2024/05/18 03:32
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
思路1:当前节点值与下一节点值进行比较,如果重复,则直到找到不重复的节点,然后将节点添加到没有重复的开始节点之后。
/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* deleteDuplication(ListNode* pHead) { // 新建一个头结点 ListNode *first = new ListNode(-1); first->next = pHead; ListNode *p = pHead; ListNode *last = first; while (p != NULL && p->next != NULL) { // 如果有元素重复 if (p->val == p->next->val) { // 就跳过所有重复的数字 int val = p->val; while (p != NULL && p->val == val) { p = p->next; } last->next = p; } else { last = p; p = p->next; } } return first->next; }};
0 0
- 剑指offer--删除链表中重复的结点
- 《剑指offer》删除链表中重复的结点
- 剑指offer:删除链表中重复的结点
- [剑指offer]删除链表中重复的结点
- 剑指offer|删除链表中重复的结点
- 《剑指offer》:删除链表中重复的结点
- 剑指Offer:删除链表中重复的结点
- 《剑指offer》-删除链表中重复的结点
- 剑指offer: 删除链表中重复的结点
- 剑指offer 删除链表中重复的结点
- 【剑指offer】删除链表中重复的结点
- 剑指Offer-删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 剑指offer-删除链表中重复的结点
- 剑指offer:删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 剑指offer 删除链表中重复的结点
- 删除链表中重复的结点(剑指offer)
- HBuilder和Eclipse的SVN的服务地址改变后,如何设置图示。
- 容器 What, Why, How
- MyEclipse设置代码提示功能
- 深度学习笔记之win7下TensorFlow的安装
- Jsp标准标签库
- 剑指offer 删除链表中重复的结点
- 爬虫的一点经验
- 关于一些Vue的文章。(6)
- 关于spark-submit报错java.lang.NoClassDefFoundError: scala/runtime/LambdaDeserialize
- 【BY2HIT--C51系列】000-安装配置环境
- 关于一些Vue的文章。(7)
- 【自考】——最后一次组队学习
- IMweb训练作业-todoList
- Unity3D 正六边形,环状扩散,紧密分布,的程序