一、结构体的定义
typedef int DataType;
typedef struct ListNode//定义结点
{
DataType data;
struct ListNode* next;
}ListNode,*PListNode;
typedef struct PList//定义一个成员是指向结点的指针的结构体
{
PListNode PHead;
}PList,*PList;
二、函数实现
用cur记录相遇结点的下一个位置,计数器num初始化为1;然后cur每次走一步,计数器加1,等到cur走到相遇点;num就统计出来环内结点的个数;
//10.求环的长度
int GetCycleLength(PListNode Node)//Node为环内一点(即就是快慢指针相遇点)
{
PListNode meet=Node->next;
int num=1;
while (meet!=Node)
{
num++;
meet=meet->next;
}
return num;
}