关闭

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

691人阅读 评论(0) 收藏 举报
分类:

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;
}


0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类
    最新评论