前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1-7 两个有序链表序列的交集 (20 分)

1-7 两个有序链表序列的交集 (20 分)

作者头像
韩旭051
发布2019-11-08 00:54:05
1.4K0
发布2019-11-08 00:54:05
举报
文章被收录于专栏:刷题笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://cloud.tencent.com/developer/article/1535019

1-7 两个有序链表序列的交集 (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

代码语言:javascript
复制
1 2 5 -1
2 4 5 8 10 -1

输出样例:

代码语言:javascript
复制
2 5

人有多大胆,地有多大产。数组开的大,就过去了。

因为按顺序,大小读入,不用排序,两个快慢指针往后走就行了,,

代码语言:javascript
复制
#include<iostream>
using namespace std;
int sum1[9999999],sum2[9999999],s1,s2,d1,d2;
int main(){
	int n,flag=0;
	while(cin>>n&&n!=-1){sum1[s1++]=n;}
    while(cin>>n&&n!=-1){sum2[s2++]=n;}
    while(d1!=s1&&d2!=s2){
		if(sum1[d1]==sum2[d2]){
			if(flag){cout<<" ";}
            flag=1;
			cout<<sum1[d1];
			d1++;
			d2++;
		}else{
			if(sum1[d1]<sum2[d2]){d1++;}
            else{d2++;}
		}
	}if(flag==0){cout<<"NULL";}
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1-7 两个有序链表序列的交集 (20 分)
    • 输入格式:
      • 输出格式:
        • 输入样例:
          • 输出样例:
          • 人有多大胆,地有多大产。数组开的大,就过去了。
          • 因为按顺序,大小读入,不用排序,两个快慢指针往后走就行了,,
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档