两个有序链表序列的交集
来源:互联网 发布:傲虎网络 编辑:程序博客网 时间:2024/05/17 03:22
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。
输入格式:
输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。
输出格式:
在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL
。
输入样例:
1 2 5 -12 4 5 8 10 -1
输出样例:
2 5
//其实没必要开辟新的空间来放Lc,可以继承La的内存,我这儿麻烦了#include <stdio.h>typedef struct LNode{ int data; struct LNode *next;} LNode,*LinkList;void ListPrint_L(LinkList L){//输出单链表 LNode *p=L->next; //p指向第一个元素结点 if(!p) printf("NULL\n"); while(p!=NULL) { if(p->next!=NULL) printf("%d ",p->data); else printf("%d\n",p->data); p=p->next; }}int main(){ LinkList La, Lb, Lc; int da, flag; flag = 0; // LNode *curPtr, *rearPtr, *prePtr; LNode *curPtr_a, *rearPtr_a, prePtr_a; LNode *curPtr_b, *rearPtr_b, prePtr_b; LNode *curPtr_c, *rearPtr_c, prePtr_c; rearPtr_a = La = (LinkList)malloc(sizeof(LinkList)); rearPtr_b = Lb = (LinkList)malloc(sizeof(LinkList)); rearPtr_c = Lc = (LinkList)malloc(sizeof(LinkList)); scanf("%d", &da); while(da != -1) { curPtr_a = (LNode *)malloc(sizeof(LNode)); curPtr_a->data = da; rearPtr_a->next = curPtr_a; rearPtr_a = curPtr_a; scanf(" %d", &da); } rearPtr_a->next = NULL; getchar(); scanf("%d", &da); while(da != -1) { curPtr_b = (LNode *)malloc(sizeof(LNode)); curPtr_b->data = da; rearPtr_b->next = curPtr_b; rearPtr_b = curPtr_b; scanf(" %d", &da); } rearPtr_b->next = NULL; curPtr_a = La->next; curPtr_b = Lb->next; while(curPtr_a && curPtr_b) { if(curPtr_a->data == curPtr_b->data) { if(flag == 0) printf("%d", curPtr_b->data); else { printf(" %d", curPtr_b->data); } flag = 1; curPtr_a = curPtr_a->next; curPtr_b = curPtr_b->next; } else if(curPtr_a->data > curPtr_b->data){ curPtr_b = curPtr_b->next; } else { curPtr_a = curPtr_a->next; } } if(flag == 0) printf("NULL");// rearPtr_c->next = NULL;// ListPrint_L(Lc);}
阅读全文
0 0
- 两个有序链表序列的交集
- PAT 2-12. 两个有序链表序列的交集
- PAT2-12. 两个有序链表序列的交集
- 2-12. 两个有序链表序列的交集
- 2-12. 两个有序链表序列的交集
- pat 2-12. 两个有序链表序列的交集
- 【C】两个有序链表序列的交集
- 5-16 两个有序链表序列的交集
- PTA习题 两个有序链表序列的交集
- 7-2 两个有序链表序列的交集
- 两个有序链表序列的交集(20 分)
- 7-2 两个有序链表序列的交集
- pta 两个有序链表序列的交集
- 链表——两个有序链表序列的交集
- 浙江大学PAT上机题解析之2-12. 两个有序链表序列的交集
- 浙大PAT 2-12. 两个有序链表序列的交集 (解题思路)
- PAT DS 2-11 两个有序链表序列的交集
- 2-12. 两个有序链表序列的交集(20)
- UVa1629 记忆化搜索 分格子
- 两个有序链表序列的合并
- hdu 5726 区间gcd RMQ+二分 || 暴力枚举
- 算法训练 区间k大数查询
- HIBERNATE与 MYBATIS的对比
- 两个有序链表序列的交集
- 趋势科技面试总结
- HashMap的数据结构分析
- leetcode题目例题解析(四)
- 树的广度深度优先遍历算法 DFS BFS
- hdu 1009 FatMouse' Trade
- HDU 4992 Primitive Roots (求原根)
- HDU
- 欢迎使用CSDN-markdown编辑器