1097 Deduplication on a Linked List
2024-09-04 14:29:29
题意:
给出一个链表,删除绝对值相同的结点,对于每个绝对值为K的结点,只保留第一次出现的那个。把被移除的结点组成一个新链表,输出删除去重后的链表和新链表。
思路:考察链表的“删除”操作,不难。
代码:
#include <cstdio> #include <cstdlib>//abs() ; struct Node{ int data; int curr,next; }LinkList[N],ansList[N]; void printLinkList(int p) { ){ printf("%05d %d ",ansList[p].curr,ansList[p].data); ) printf("%05d\n",ansList[p].next); else printf("-1\n"); p=ansList[p].next; } } int main() { //freopen("pat.txt","r",stdin); int head,n; scanf("%d%d",&head,&n); int curr,data,next; ;i<n;i++){ scanf("%d%d%d",&curr,&data,&next); LinkList[curr].curr=curr; LinkList[curr].data=data; LinkList[curr].next=next; } ,rlast=-;//removed list int last=head;//remain list int p=head; ]={};//标记结点是否已经出现过 ){ int key=abs(LinkList[p].data); ){//如果该值之前已经出现过了 ){ rhead=rlast=LinkList[p].curr; ansList[rlast].curr=LinkList[p].curr; ansList[rlast].data=LinkList[p].data; ansList[rlast].next=-; }else{ ansList[rlast].next=LinkList[p].curr; rlast=LinkList[p].curr; ansList[rlast].curr=LinkList[p].curr; ansList[rlast].data=LinkList[p].data; ansList[rlast].next=-; } }else{//该结点首次出现 mp[key]=; if(p==head) { ansList[last].curr=LinkList[p].curr; ansList[last].data=LinkList[p].data; ansList[last].next=-; }else{ ansList[last].next=LinkList[p].curr; last=LinkList[p].curr; ansList[last].curr=LinkList[p].curr; ansList[last].data=LinkList[p].data; ansList[last].next=-; } } // p=LinkList[p].next; } printLinkList(head); printLinkList(rhead); ; }
最新文章
- Webdriver设置Chrome属性
- delegate和protocol
- DataTable模拟
- 64位Windows无法打开会声会影X5的解决方法
- [Tomcat]如何在同一台机部署多个tomcat服务
- 使用c#生成Identicon图片
- JAAS LOGIN IN WEBLOGIC SERVER--reference
- Selenium webdriver 封装与重用
- logisticregression
- ftp桥接到http服务
- ASP.NET初始化流程分析2
- MySQL查看和修改表的存储引擎(转载+加点东西)
- C#实现按键计算器功能
- css3新特性总结
- array_filter与array_map
- E212: Can&#39;t open file for writing
- 如何在IIS上发布网站 在阿里云服务器windows server2012r iis上部署.net网站
- paired-end reads的拼接
- redis 五大数据类型以及操作
- 请问下.net俱乐部这个组织现在还存在么?
热门文章
- Gulp实例(包括环境搭建的自动检测)
- 2015 Syrian Private Universities Collegiate Programming Contest
- 智课雅思词汇---二十三、动词性后缀-ate-fy-ish-ize
- (CSharp)克隆控件事件
- 转:Hive性能优化之ORC索引–Row Group Index vs Bloom Filter Index
- 【51nod-1046】最大子矩阵和
- 【Wannafly挑战赛10 - B】小H和密码(DP)
- PostgreSQL归档日志 手动触发归档 select pg_switch_xlog()
- Electron 打包时下载 xxx-electron-v1.6.8--x64.zip 文件出错
- GIL、死锁与递归锁