FindNum
查找倒数第k个指针

1)通过双指针错位移动来实现
2)
1.定义两个指针都指向首结点
2.先让 first 指针移动并用 cnt 计数
3.当 cnt == k 时,second开始移动
4.当 first 到最尾时,second就抵达 k 的位置
3)
/*****************************************************************************
* 函数名称: FindNum
* 函数功能:查找倒数第k个数
* 函数参数:
* @a:Head 需要查找的链表
* @b:k 要查找的数
* 返回结果:bool
* 注意事项:none
* 函数作者:c7355608bs@136.com
* 创建日期:2024/4/22
* 修改历史:2024/4
* 函数版本:1.0
*
*****************************************************************************/
bool FindNum(LList_t *Head,int k)
{
int cnt = 0;
//1.判断链表是否为空,如果为空,则直接插入即可
if (NULL == Head->next)
{
printf("链表为空,查找失败\n");
return false;
}
LList_t * first = Head->next;
LList_t * second = Head->next;
while(first->next)
{
first = first->next;
cnt++;
if(cnt >= k){
second = second->next;
}
}
printf("倒数第%d的值%d\n",k,second->data);
}

浙公网安备 33010602011771号