排序链表去重
来源:互联网 发布:阿里旅行软件 编辑:程序博客网 时间:2024/06/14 13:40
给定排好序的链表,删除重复元素,只保留重复元素第一次出现的节点。
问题:
给定:2 3 3 5 7 8 8 8 9 9 10
返回:2 3 5 7 8 9 10
解法:若p->next的值和p的值相等,则将p->next->next赋值给p,删除p->next;重复上述过程直至链表尾端。
#include<bits/stdc++.h>using namespace std;struct node{ int val; node *next; node(int v):val(v),next(NULL){}};void print(node *hea){ node *p=hea; int f=0; while(p) { if(f) printf(" "); printf("%d",p->val); f=1; p=p->next; } printf("\n");}void qc(node *hea){ node *p,*qi=hea; while(qi) { p=qi->next; if(p&&p->val==qi->val) { qi->next=p->next; delete p; } else qi=p; } print(hea);}int main(){ int n; while(scanf("%d",&n)!=EOF) { int num; node *tail,*tmp,*hea; tail=new node(0); for(int i=0;i<n;i++) { scanf("%d",&num); tmp=new node(num); if(i==0) hea=tmp; tail->next=tmp; tail=tmp; } qc(hea); } return 0;}
0 0
- 排序链表去重
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- TOJ 3002.Vote [Chinese]
- java本地化
- (ios)UIScrollView和UIPageControl来实现app的欢迎界面
- SpringMVC 拦截器实现原理跟登录实现
- Web开发之-JSP学习总结-第三篇: JSTL标签
- 排序链表去重
- Android体系结构和虚拟机
- 分析python处理基本数据<四>
- Android之新手入门篇
- Intent
- 【 CodeForces 615A 】 Bulbs
- java final与static关键字
- PAT-B 1002. 写出这个数
- 【CodeForces】599B - Spongebob and Joke(STL)