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

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

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

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

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

1 2 5 -1
2 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;
}


阅读更多
版权声明:写这些东西还是问了交流进步,如果你有不同的方法、见解,欢迎交流分享。文章中附的代码只传达当时我的一种做法,并非我认为最好的。 https://blog.csdn.net/Changxing898/article/details/52383488
个人分类: PTA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭