题意:给出两条链表的首地址以及若干节点的地址,数据,下一个节点的地址,求两条链表的首个共用节点的地址。如果两条链表没有共用节点,则输出-1。
思路
步骤1:由于地址的范围很小,因此可以直接用静态链表,但是依照题目的要求,在结
点的结构体中再定义一个int型变量flag,表示结点是否在第一条链表中出现,是则为l,不
是为 - 1。
步骤2:由题目给出的第一条链表的首地址出发遍历第一条链表,将经过的所有结点的
flag值赋为1.
接下来枚举第二条链表,当出现第一个fag值为1的结点,说明是第一条链表中出现过
的结果,即为两条链表的第一个共用结点。
如果第二条链表枚举完仍然没有发现共用结点,则输出 - 1。
注意点
①使用 % 05d格式输出地址,可以使不足5位的整数的高位补0
②使用map容易超时。
seanf使用 % c格式时是可以读入空格的,因此在输入地址、数据、后继结点地址的(注释:前面有空格,表示读一字符前要跳过 前面 所有 的空白字符(空格,表格键,回车换行键等,有多少跳多少)后才读入1个实质性的 (字母数字符号)字符)
格式不能写成 % d % c % d,必须在中间加空格。
输入样例
11111 22222 9
67890 i 00002
00010 a 12345
00003 g - 1
12345 D 67890
00002 n 00003
22222 B 23456
11111 L 00001
23456 e 67890
00001 o 00010
输出样例
67890

#include<cstdio>
#include<cstring>
const int maxn = 100010;
struct Node {
char data;
int next;
bool flag;
}node[maxn];
int main() {
int s1, s2, n;
scanf("%d%d%d", &s1, &s2, &n);
int address,next;
char data;
for (int i = 0; i < n; i++) {
scanf("%d %c %d", &address, &data, &next);
node[address].data = data;
node[address].next = next;
}
int x;
for (x = s1; x != -1;x=node[x].next) {
node[x].flag = true;
}
for (x = s2; x != -1; x = node[x].next) {
if (node[x].flag == true) {
break;
}
}
if (x != -1) {
printf("%05d", x);
}
else {
printf("-1");
}
return 0;
}

PAT A1032 Sharing的更多相关文章

  1. PAT甲级——A1032 Sharing

    To store English words, one method is to use linked lists and store a word letter by letter. To save ...

  2. PAT 1032 Sharing[hash][链表][一般上]

    1032 Sharing (25)(25 分) To store English words, one method is to use linked lists and store a word l ...

  3. A1032. Sharing

    To store English words, one method is to use linked lists and store a word letter by letter. To save ...

  4. PAT 1032. Sharing

    其实就是链表求交: #include <iostream> #include <cstdio> #include <cstdlib> #include <un ...

  5. PAT 1003 Sharing (25)

    题目描写叙述 To store English words, one method is to use linked lists and store a word letter by letter. ...

  6. PAT-链表-A1032 Sharing

    题意:给出两条链表的首地址以及若干个节点的的地址.数据.下一个节点的地址,求两条链表的首个共用节点的地址.如果两条链表没有共用节点,则输出-1. 思路:使用静态链表,首先遍历一遍第一个链表并进行标记. ...

  7. PAT 1032 Sharing (25分) 从自信到自闭

    题目 To store English words, one method is to use linked lists and store a word letter by letter. To s ...

  8. PAT甲级题解分类byZlc

    专题一  字符串处理 A1001 Format(20) #include<cstdio> int main () { ]; int a,b,sum; scanf ("%d %d& ...

  9. 【PAT】1032 Sharing (25)(25 分)

    1032 Sharing (25)(25 分) To store English words, one method is to use linked lists and store a word l ...

随机推荐

  1. 「NGK每日快讯」12.23日NGK第50期官方快讯!

  2. 无情面试官之包含min函数的栈

    0 我是一个无情的面试官. 面人无数,挂人无数. 若想过我的面试,标准只有一个,那就是公司很缺人. 招新人,填旧坑. 1 今天是我的第1001次当面试官,要求却不是千里挑一,而是一击必中. 因为我招聘 ...

  3. js中国标准时间转换成datetime格式

    var format = function (time, format) { var t = new Date(time); var tf = function (i) { return (i < ...

  4. python进阶(12)闭包

    闭包 首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用 ...

  5. 【HTB系列】Beep

    出品|MS08067实验室(www.ms08067.com) 这次挑战的是 HTB 的第5台靶机:Beep,评分很高,难度中等 靶机描述 Beep 运行了大量的服务,这对正确发掘入口点有一定的挑战,由 ...

  6. Hi3559AV100外接UVC/MJPEG相机实时采图设计(四):VDEC_Send_Stream线程分析

    下面随笔将对Hi3559AV100外接UVC/MJPEG相机实现实时采图设计的关键点-VDEC_Send_Stream线程进行分析,一两个星期前我写了有三篇系列随笔,已经实现了项目功能,大家可以参考下 ...

  7. 从零学脚手架(三)---webpack属性详解

    如果此篇对您有所帮助,在此求一个star.项目地址: OrcasTeam/my-cli 在上一篇中,介绍了webpack的entry.output.plugins属性. 在这一篇,接着介绍其它配置属性 ...

  8. Apache配置 1. 默认虚拟主机

    编辑httpd.conf搜索httpd-vhosts,去掉#号 # vi /usr/local/apache2.4/conf/httpd.conf Include conf/extra/httpd-v ...

  9. redhat安装python3.7

    下载并解压: 1 wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz 2 tar -xzvf Python-3.7.2.tgz ...

  10. Aibabelx-shop 大型微服务架构系列实战之技术选型

    一.本项目涉及编程语言java,scala,python,涉及的技术如下: 1.微服务架构: springboot springcloud mybatisplus shiro 2.全文检索技术 sol ...