一、问题描述:
判断两个链表是否相交,若相交返回交点,否则返回空。(这里假设链表不带环)
由上图我们可以得出链表相交的两个结论:
1.两链表相交,第一个相同的结点为链表的交点;
2.两链表相交,从交点向后的所有结点都相同(合二为一)。
二、解决思路
方法一:直观法
思路:依次判断第一个链表中的每个结点是否在第二个链表中出现。
时间复杂度:O(Length(List1)*Length(List2))
链表相关定义:
typedef int DataType;
typedef struct ListNode
{
DataType data;
struct ListNode* next;
}ListNode,*pListNode;
typedef struct LinkList
{
pListNode pHead;
}LinkList,*pLinkList;
代码实现: