5-52 两个有序链表序列的交集 (20分)

来源:互联网 发布:网络老虎机破解方法 编辑:程序博客网 时间:2024/05/16 14:19

5-52 两个有序链表序列的交集 (20分)

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。
输入格式:

输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。
输出格式:

在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。
输入样例:

1 2 5 -12 4 5 8 10 -1

输出样例:

2 5

思路
生成两个链表、比较输出

点击访问 PTA-测验

#include <stdio.h>#include<stdlib.h>/* 评测结果时间      结果  得分  题目  编译器     用时(ms)  内存(MB)  用户2016-07-27 14:59    答案正确    25  5-53    gcc     44  1   569985011测试点结果测试点             结果  得分/满分   用时(ms)  内存(MB)测试点1    答案正确    6/6     1   1测试点2    答案正确    6/6     1   1测试点3    答案正确    4/4     8   1测试点4    答案正确    4/4     13  1测试点5    答案正确    1/1     2   1测试点6    答案正确    4/4     44  1*/int main() {    int n;    scanf("%d",&n);    int*a=(int*)malloc(sizeof(int)*n);    for(int i=0; i<n; i++)        scanf("%d",&a[i]);int num,flag=0;    for(int i=0; i<n; i++) {        scanf("%d",&num);        while(*a<num)*a++;        if(*a==num){            if(flag)printf(" ");            printf("%d",num);            flag=1;        }    }    return 0;}
0 0
原创粉丝点击