输出链表倒数第k个元素
2014-04-14 17:29
344 查看
原题:输出链表倒数第k个元素
考点:代码鲁棒性(考虑函数定义域)
代码:
#include"linklist.h"
pnode searchk(pnode head,unsigned int k)
{
if(head==NULL||k==0) return NULL;
pnode p=head;
pnode q=NULL;
for(unsigned int i=0;i<k-1;++i)
{
if(p->next!=NULL) p=p->next;
else return NULL;
}
q=head;
while(p->next!=NULL)
{
p=p->next;
q=q->next;
}
return q;
}
int main()
{
crtlist();
prtlist();
pnode p=searchk(head,3);
prtnode(p);
return 0;
}
扩展
1.求链表的中间节点
2.判断一单向链表是否形成环形结构(使用两个指针)
引用
剑指Offer(何海涛著)
考点:代码鲁棒性(考虑函数定义域)
代码:
#include"linklist.h"
pnode searchk(pnode head,unsigned int k)
{
if(head==NULL||k==0) return NULL;
pnode p=head;
pnode q=NULL;
for(unsigned int i=0;i<k-1;++i)
{
if(p->next!=NULL) p=p->next;
else return NULL;
}
q=head;
while(p->next!=NULL)
{
p=p->next;
q=q->next;
}
return q;
}
int main()
{
crtlist();
prtlist();
pnode p=searchk(head,3);
prtnode(p);
return 0;
}
扩展
1.求链表的中间节点
2.判断一单向链表是否形成环形结构(使用两个指针)
引用
剑指Offer(何海涛著)
相关文章推荐
- 单链表的创建(头插尾插),表长,输出,插入,删除,查找,逆置,分解长两个链表(奇数偶数链表),查找倒数第k个元素,产出相同元素
- 输出单向链表的倒数第K个元素
- 单链表输出倒数第k个元素
- 剑指offer --反向输出链表与输出链表的倒数第k个元素
- 每天一算法(输出链表倒数第k个元素)
- java实现单向链表CRUD,反转,排序,查找倒数第k个元素,递归输出等操作
- 输入一个链表,输出该链表中倒数第k个结点。--《剑指offer》
- 输入一个链表,输出该链表中倒数第k个结点。
- 找单链表中倒数第K个元素
- 输入一个链表,输出该链表中倒数第k个结点。
- 输出链表中倒数第k个节点
- 华为oj_输出单向链表中倒数第k个结点
- 13输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
- 剑指offer--输入一个链表,输出该链表中倒数第k个结点。
- 【华为oj】输出单向链表中倒数第k个结点
- 华为OJ 初级:输出单向链表中倒数第k个结点
- 13.输出该链表中倒数第k个结点
- 华为OJ-输出单向链表中倒数第k个节点
- Java输出链表倒数第k个节点
- 输入一个链表,输出该链表中倒数第k个结点