《剑指offer》:[57]删除链表中重复的结点
来源:互联网 发布:linux hba卡查看 编辑:程序博客网 时间:2024/05/22 06:19
题目:在一个排序的链表中,如何删除重复的结点?
具体实现代码:
例如,在图a中重复结点被删除之后,链表如图b所示。
具体实现代码:
#include <iostream>using namespace std;struct ListNode{int data;ListNode *next;};ListNode *pHead=NULL;ListNode *pEnd=NULL;void CreateList(){int data;cin>>data;while(0!=data){ListNode *pNode=new ListNode;pNode->data=data;pNode->next=NULL;if(pHead==NULL)//空链表{pHead=pNode;pEnd=pNode;}else//非空链表;{// 插入在头结点;if(pHead->data > data ){pNode->next=pHead;pHead=pNode;}// 插入位置在非头结点;else{ListNode *p=pHead;while(p->next&& p->data<data)p=p->next;pNode->next=p->next;p->next=pNode;}}cin>>data;}}void DeleteDuplication(ListNode **head)//必须**,因为有可能删除头结点;{if(head==NULL || *head==NULL)return ;ListNode *preNode=NULL;ListNode *pNode=*head;while(pNode!=NULL){ListNode *pNext=pNode->next;bool needdelete=false;if(pNext!=NULL && pNext->data==pNode->data)needdelete=true;if(!needdelete){preNode=pNode;pNode=pNode->next;}else{int data=pNode->data;//记录下要删除的值;ListNode *tobedel=pNode;while(tobedel!=NULL && tobedel->data==data){pNext=tobedel->next;delete tobedel;tobedel=NULL;tobedel=pNext;}if(preNode==NULL)*head=pNext;elsepreNode->next=pNext;pNode=pNext;}}}void show(ListNode *head){while(head){cout<<head->data<<" ";head=head->next;}cout<<endl;}int main(){CreateList();DeleteDuplication(&pHead);show(pHead);system("pause");return 0;}
运行结果:
1 0
- 剑指offer--删除链表中重复的结点
- 《剑指offer》删除链表中重复的结点
- 剑指offer:删除链表中重复的结点
- [剑指offer]删除链表中重复的结点
- 剑指offer|删除链表中重复的结点
- 《剑指offer》:删除链表中重复的结点
- 剑指Offer:删除链表中重复的结点
- 《剑指offer》-删除链表中重复的结点
- 剑指offer: 删除链表中重复的结点
- 剑指offer 删除链表中重复的结点
- 【剑指offer】删除链表中重复的结点
- 剑指Offer-删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 剑指offer-删除链表中重复的结点
- 剑指offer:删除链表中重复的结点
- 剑指offer--删除链表中重复的结点
- 剑指offer 删除链表中重复的结点
- 剑指offer-面试题57:删除链表中重复的结点
- Access restriction
- 【那些年遇到过的面试题】并发服务器模型
- makefile 获取当前目录下.c .cpp .so文件
- apache配置文件:http.conf配置详解
- 转换动态磁盘到普通磁盘
- 《剑指offer》:[57]删除链表中重复的结点
- Python入门:PIL(pillow)之im对象(Image.open('file.jpeg'))
- Linux系统有7个运行级别(runlevel)
- LSD快速直线检测的原理概要及OpenCV代码实现(CV类LineSegmentDetector)
- NodeJS 创建TCP服务器
- mysql锁详解
- Arrays工具类
- 求助:“/ZJCM”应用程序中的服务器错误。
- APM2.8 Rover 自动巡航车设计(硬件连接)