[2021校招必看之Java版《剑指offer》-23] 两个链表的第一个公共结点

文章目录

  • 1、题目描述
  • 2、解题思路
    • 2.1 暴力遍历
    • 2.2 双指针法
  • 3、解题代码
    • 3.1 暴力遍历
    • 3.2 双指针法
  • 4、解题心得

1、题目描述

  【JZ36】输入两个链表,找出它们的第一个公共结点。
  知识点:单链表
  难度:☆

2、解题思路

2.1 暴力遍历

  类似这种从一个集合中找到特定元素的题型,都可以使用暴力遍历的方法来达到目的,本题也不例外。
  对于两个链表,我们不知道交点在何处,可能交点都在两个链表的第n个元素,又或者交点在第一个链表的n处,在第二个链表的m处。
  遍历的思路为:
  1、定义两个指针temp1和temp2分别指向两个链表的头结点;
  2、temp1不动,temp2不断执行next操作;
  2.1 如果temp1 == temp2,且temp1 != null,则结束并返回temp1;
  2.2 如果temp2 == null,则temp1 = temp1.ne

你可能感兴趣的:(剑指offer(Java语言))