单链表
123
小鱼朵~
计算机小废宅
展开
-
1032 Sharing
1032 Sharing 题目大意 给出两串链表,如果两条链表如果有公共链表,请输出公共链的第一个结点的address;否则输出-1 核心思路 思路借鉴于柳神 https://blog.csdn.net/liuchuo/article/details/52144527 用结构体数组存储链表,node[i]表示地址为i的结点,key表示值,next表示下一个结点的地址,flag表示该结点是否在第一条链表上,初始化为false,表示所有结点均不在第一条链表上 遍历第一题链表,将访问到的结点的flag都标记为原创 2021-08-05 10:09:16 · 94 阅读 · 0 评论 -
1052 Linked List Sorting
1052 Linked List Sorting 题目大意 将读入的结点根据是否有效(是否在链表上)和key值的大小排序后,输出所有有效结点(是否在链表上)的address key 和 当前结点的下一个结点的address。(排序后结点的顺序发生了变化,当前结点的next不再是下一个结点的adress) 核心思路 思路借鉴于柳神,链接如下: https://blog.csdn.net/liuchuo/article/details/52144537 建立结构体数组,按照首地址开始的顺序(直到-1)遍历一原创 2021-08-05 10:40:33 · 103 阅读 · 0 评论 -
1074 Reversing Linked List
1074 Reversing Linked List 题目大意 读入一条链表,遍历该链表,将链表上的结点按照每m个结点为一组进行反转,按顺序输出反转后的链表的每一个结点 核心思路 从begin开始遍历链表上的每一个结点,将链表上每一个结点的address放到vector数组v中,对vector数组v的每m个元素为一组进行反转操作。 然后就可以按照vector数组v的元素顺序输出每个结点的address、key、下一个结点的address。 代码 #include <cstdio> #includ原创 2021-08-05 14:18:52 · 107 阅读 · 0 评论 -
1097 Deduplication on a Linked List
1097 Deduplication on a Linked List 题目大意 从首结点开始遍历整一条链表的所有结点,如果当前结点的|key|与之前的结点的|key|重复,将这个结点剔除出来单独放到另一条链表中。先输出删除了重复结点的链表,再输出重复结点构成的链表 核心思路 思路借鉴于柳神,链接如下: 添加链接描述 用结构体数组存储这个链表,node[i]表示地址为i的结点,key为该结点的值,next为下一个结点的地址。在 ...原创 2021-08-05 12:07:05 · 85 阅读 · 0 评论 -
1133 Splitting A Linked List
1133 Splitting A Linked List 题目大意 给一个链表和K,遍历链表后将<0的结点先输出,再将0~k区间的结点输出,最后输出>k的结点 核心思路 建立vector数组v1,v2,v3分别用来存储key值小于0的结点地址,key值大于0小于等于m的结点地址,key值大于m的结点地址。 按顺序遍历链表的每一个结点,取出key值在不同区间的结点地址,分别放入vector数组v1、v2、v3中。将vector数组v1,v2,v3中的结点的address按顺序放到vector数组v原创 2021-08-05 18:51:08 · 106 阅读 · 0 评论