题目描述:

输入两个链表,找出它们的第一个公共结点。

输入:

输入可能包含多个测试样例。

对于每个测试案例,输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的两个链表的元素的个数。

接下来的两行,第一行为第一个链表的所有元素,中间用空格隔开。第二行为第二个链表的所有元素,中间用空格隔开。

输出:

对应每个测试案例,

输出两个链表的第一个公共结点的值。

如果两个链表没有公共结点,则输出“My God”。

样例输入:

5 4
1 2 3 6 7
4 5 6 7
3 3
1 5 7
2 4 7
2 3
1 3
4 5 6

样例输出:

6
7
My God

【解题思路】本题应该非常经典的题目了,但这种题目我们往往有时候需要注意来输入的不止两个链表的情况,但本题目中已经很清晰的说明了只有两个链表。另外,既然是单链表,就不存在有一个节点具有多个指针指向其他节点。

那么本题还是采用经典的尾部对齐的做法,使两个链表尾部对齐后,两个链表同时开始向后扫描,若发现有一个元素值相同则表明两个链表具有相同的节点,后面的节点也就不同扫描了。若扫描完所有的节点都没有找到相同的节点,则表明两个链表不具有共同元素。

AC code:

#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std; int main()
{
int m,n;
vector<int> mm(1002),nn(1002);
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m>n)
{
for(int i=0;i<m;++i)
scanf("%d",&mm[i]);
for(int i=0;i<n;++i)
scanf("%d",&nn[i]);
}else
{
for(int i=0;i<m;++i)
scanf("%d",&nn[i]);
for(int i=0;i<n;++i)
scanf("%d",&mm[i]);
swap(m,n);
}
int midx=m-n,nidx=0;
bool flg=true;
while(nidx<n)
if(mm[midx++]==nn[nidx++]){printf("%d\n",nn[nidx-1]);flg=false; break;}
if(flg)printf("My God\n");
}
return 0;
}
/**************************************************************
Problem: 1505
User: huo_yao
Language: C++
Result: Accepted
Time:70 ms
Memory:1024 kb
****************************************************************/

题目链接:http://ac.jobdu.com/problem.php?pid=1505

九度-剑指Offer习题全套答案下载:http://download.csdn.net/detail/huoyaotl123/8276299



【剑指Offer面试编程题】题目1505:两个链表的第一个公共结点--九度OJ的更多相关文章

  1. 【剑指offer】面试题37:两个链表的第一个公共结点

    题目: 输入两个链表,找出它们的第一个公共结点. 思路: 由链表的定义知是单链表.对于单链表,如果两个链表有公共结点,则两个链表必然是像Y型相交.则先计算出各个链表的长度,让长链表的头指针先走多出来的 ...

  2. (剑指Offer)面试题37:两个链表的第一个公共结点

    题目: 输入两个链表,找出它们的第一个公共结点. 链表结点的定义如下: struct ListNode{ int val; ListNode* next; ListNode(int x):val(x) ...

  3. 剑指Offer - 九度1505 - 两个链表的第一个公共结点

    剑指Offer - 九度1505 - 两个链表的第一个公共结点2013-11-24 20:09 题目描述: 输入两个链表,找出它们的第一个公共结点. 输入: 输入可能包含多个测试样例.对于每个测试案例 ...

  4. 九度OJ 1505 两个链表的第一个公共结点 【数据结构】

    题目地址:http://ac.jobdu.com/problem.php?pid=1505 题目描述: 输入两个链表,找出它们的第一个公共结点. 输入: 输入可能包含多个测试样例. 对于每个测试案例, ...

  5. 【剑指Offer面试编程题】题目1509:树中两个结点的最低公共祖先--九度OJ

    题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行为一个数n(0<n<1000),代表测试样例的个数 ...

  6. 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ

    题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n&l ...

  7. 【剑指Offer面试编程题】题目1507:不用加减乘除做加法--九度OJ

    题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入为两个整数m和n(1<=m,n<=10 ...

  8. 【剑指Offer面试编程题】题目1506:求1+2+3+...+n--九度OJ

    题目描述: 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 输入: 输入可能包含多个测试样例. 对于每个 ...

  9. 【剑指Offer面试编程题】题目1356:孩子们的游戏(圆圈中最后剩下的数)--九度OJ

    题目描述: 每年六一儿童节,JOBDU都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为JOBDU的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈. ...

随机推荐

  1. python学习Day25--正则表达式1

    [知识点] # 所有模块要经历的两个步骤: ① 要操作的概念本身:正则表达式   时间 ② 使用模块取操作它:re                  time 1.正则表达式:一种匹配字符串的规则 # ...

  2. 「HNOI2012」永无乡

    传送门 Luogu 解题思路 很容易想到平衡树,然后还可以顺便维护一下连通性,但是如何合并两棵平衡树? 我们采用一种类似于启发式合并的思想,将根节点siz较小的那颗平衡树暴力的合并到另一颗上去. 那么 ...

  3. 从头学pytorch(五) 多层感知机及其实现

    多层感知机 上图所示的多层感知机中,输入和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元(hidden unit).由于输入层不涉及计算,图3.3中的多层感知机的层数为2.由图3.3可见,隐藏 ...

  4. 复变函数知识总结(2)——Cauchy理论

    复变函数知识总结(2)——Cauchy理论 版本:2020-01-01 此版本不是最终版本,还有后续的补充和更新. 如有错误请指出,转载时请注明出处! page1 page2 page3 page4 ...

  5. 9000端口号被上一个ip地址占用,需要reboot才可以恢复正常ip端口问题

    比如查看端口# lsof -i:9000 本机ip已经修改为192.168.0.50,而经过# lsof -i:9000查看到,端口是这样的,192.168.0.88:9000,显示的还是上一个ip的 ...

  6. ubuntu 虚拟机添加多个站点

    我们安装好lamp环境,然后开始操作,比如一个站点叫test.ubuntu1.com,一个叫test.ubuntu2.com 1.修改hosts文件,路径/etc/hosts sudo vim /et ...

  7. 模块学习-shutil

    高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,可以部分内容 shutil.copyfile(s ...

  8. PXE无人值守实现批量化自动安装Linux系统

    设想一个场景:假如让你给1000台服务器装系统,你会怎么做?跑去每一台服务器给它安装系统吗?显然不会.. 一.概括 通过网络引导系统的做法可以不必从硬盘.软盘或CD-ROM硬盘,而是完全通过网络来引导 ...

  9. FFplay 命令

    1. 查看支持的格式: ffplay.exe -formats 2. 播放PCM裸流: ffplay.exe - -channels -f s16le -i pcm_file_path 根据PCM文件 ...

  10. php 安装 swoole

    1.安装swoole cd /usr/local/src wget https://github.com/swoole/swoole-src/archive/v1.9.1-stable.tar.gz ...