输出单链表中倒数第k个结点
发布时间:2020-12-13 20:14:49 所属栏目:PHP教程 来源:网络整理
导读:题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历1次单链表。 解题思路: 如果不要求只能遍历1次单链表,我们可以先遍历1次单链表,求出它的结点的总个数n(包括头结点),所以单链表的结
题目:输入带头结点的单链表L,输出该单链表中倒数第k个结点。单链表的倒数第0个结点为该单链表的尾指针。要求只能遍历1次单链表。
解题思路:
ADT定义以下
算法实现: LNode* reciprocalKNode(LinkList &L,int k)
{
if(k<0) {
printf("k不可以为负数");
return NULL;
}
if(L==NULL)
{
printf("单链表为空");
return NULL;
}
LNode* p=L;
LNode* q=L;
while(k>0)
{
p=p->next;
if(p==NULL)
{
printf("单链表太短,不存在倒数第k个结点");
return NULL;
}
}
while(p->next!=NULL)
{
p=p->next;
q=q->next;
}
return p;
} PS:这1题对不带头结点的单链表的解法是1模1样的,只是我们通经常使用到的单链表都是带头结点而已。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- php – 如何从发票ID获取PayPal交易ID
- php – 在我的代码沙箱PayPal的未来付款是什么问题
- php使用number_format函数截取小数的方法分析
- 在PHP MVC应用程序中将数据从Controller传递到View
- php – Symfony 2.2扩展ExceptionController
- memcached源码分析-----slab automove和slab rebalance
- PHP5性能对比,Windows和Linux
- IIS 7.5 asp Session超时时间设置方法
- PHP编程:PHP获取一年有几周以及每周开始日期和结束日期
- PHP 导出数据到淘宝助手CSV的方法分享