删除链表中重复的结点
来源:互联网 发布:c语言随机函数怎么用 编辑:程序博客网 时间:2024/06/05 07:23
题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
class Solution {public: ListNode* deleteDuplication(ListNode* pHead) { ListNode* ans = new ListNode(-1); ans->next=NULL; ListNode *pre=ans,*back=pHead; while(back){ if(back->next&&back->val==back->next->val){ int num=back->val; while(back&&back->val==num){ back=back->next; } pre->next=back; } else{ pre->next=back; pre=pre->next; back=back->next; } } return ans->next; }};
//递归class Solution {public: ListNode* deleteDuplication(ListNode* pHead) { if (pHead==NULL) return NULL; if (pHead!=NULL && pHead->next==NULL) return pHead; ListNode* current; if ( pHead->next->val==pHead->val){ current=pHead->next->next; while (current != NULL && current->val==pHead->val) current=current->next; return deleteDuplication(current); } else { current=pHead->next; pHead->next=deleteDuplication(current); return pHead; } }};
0 0
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- java面向对象基本特征:封装、继承、多态
- 崇志宏 【转载】深度学文献阅读路径图---东南大学
- java中的字节流和字符流的区别是什么?
- 三、Hadoop的RPC框架运行机制
- web.鼠标.调用坐标函数
- 删除链表中重复的结点
- Codeforces 803D Magazine Ad【二分+贪心】
- WAS监控工具WAS Performance Tunning Toolkit
- Path Sum III
- 欢迎使用CSDN-markdown编辑器
- R语言学习笔记(五)
- 项目开发任务及流程记录
- 网络编程(上)
- [JQuery $()XXXX is not a function] 已解决