一、结构体定义
typedef int DataType;
typedef struct ListNode//定义结点
{
DataType data;
struct ListNode* next;
}ListNode,*PListNode;
typedef struct PList//定义一个成员是指向结点的指针的结构体
{
PListNode PHead;
}PList,*PList;
二、分析
三、函数实现
//上图方法一的实现
//13.求两个都不带环的链表相交的结点;如果不相交,返回NULL;---O(N²)
PListNode GetCrossNode(PListNode PHead1,PListNode PHead2)
{
PListNode cur1=PHead1;
PListNode cur2=PHead2;
while (cur1)
{
while (cur1!=cur2&&cur2)
{
cur2=cur2->next;
}
if (cur1==cur2)
{
return cur2;
}
cur1=cur1->next;
cur2=PHead2;
}
return NULL;
}