查找单链表的倒数第k个节点,要求只能遍历一次链表
来源:互联网 发布:桌面摆件 知乎 编辑:程序博客网 时间:2024/06/09 20:13
//遍历一遍找第K个节点
//不足k个返回空
Node* FindKNode(Node* pHead, size_t k)
{
Node* slow = pHead, * fast = pHead;
while (--k)//走k-1步
{
if (fast == NULL)
{
return NULL;
}
fast = fast->next;
}
while (fast->next)
{
slow = slow->next;
fast = fast->next;
}
return slow;
}
void TestTopic1()
{
Node* list = NULL;
PushBack(&list, 1);
PushBack(&list, 3);
PushBack(&list, 5);
PushBack(&list, 7);
PushBack(&list, 9);
PrintList(list);
printf("k:%d\n",FindKNode(list,3)->data);
}
输出结果:
13579
k:5
//不足k个返回空
Node* FindKNode(Node* pHead, size_t k)
{
Node* slow = pHead, * fast = pHead;
while (--k)//走k-1步
{
if (fast == NULL)
{
return NULL;
}
fast = fast->next;
}
while (fast->next)
{
slow = slow->next;
fast = fast->next;
}
return slow;
}
void TestTopic1()
{
Node* list = NULL;
PushBack(&list, 1);
PushBack(&list, 3);
PushBack(&list, 5);
PushBack(&list, 7);
PushBack(&list, 9);
PrintList(list);
printf("k:%d\n",FindKNode(list,3)->data);
}
输出结果:
13579
k:5
阅读全文
0 0
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 链表--查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 逆置/反转单链表+查找单链表的倒数第k个节点,要求只能遍历一次链表
- 逆置/反转单链表+查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表(C语言)
- 剑指offer 15---查找单链表的倒数第k个节点,要求只能遍历一次链表
- C语言:【单链表】查找单链表的倒数第k个节点,要求只能遍历一次
- 【链表】查找链表倒数第k个结点,要求只能遍历一次
- C实现简单单向链表,一次遍历查找倒数第k个节点的值
- 查找单链表的中间节点,要求只能遍历一次链表(C语言)
- 查找单链表的中间节点,要求只能遍历一次链表
- 查找单链表的中间节点,要求只能遍历一次链表
- 查找单链表的中间节点,要求只能遍历一次链表
- 有关单链表的两个问题【遍历一次求中间节点,倒数第K个结点】
- 【剑指offer】面试题15 使用一次遍历查找到倒数第K个节点-java
- 查找单链表的中间节点,要求只能遍历一次链表
- MFC运行时窗口总是最小化,不直接弹出
- bug之[aqme] 254: AQDefaultDevice (173): skipping input stream 0 0 0x0
- ReactNative源码篇
- windows下的tensorflow下载安装
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- zTree树形插件使用 同步加载
- 浅谈Spring的Ioc和AOP
- 策略模式简单实现(与前一篇同样的案例,代码稍作改动)
- leetcode easy题page1小结
- 人群密度估计--CrowdNet: A Deep Convolutional Network for Dense Crowd Counting
- 考研太苦逼没坚持下来!看苑老师视频有点上头
- Fragment生命周期
- android Camera 架构简介