已知一个带有表头结点的单链表,结点结构为(data,link)。假设该链表只给出了头指针list,在不改变链表的前提下,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点data域的值,并返回1;否则返回0
时间: 2024-05-28 13:09:07 浏览: 137
3-2 试编写一个算法,在带表头结点的单链表中寻找第i个结点.doc
这是一道经典的链表问题,可以使用双指针来解决。首先定义两个指针p和q,将它们都指向链表的头结点。然后将p向后移动k个位置,接着将p和q同时向后移动,直到p指向链表的末尾为止。此时,q所指向的结点就是链表中倒数第k个位置上的结点。算法输出该结点data域的值,并返回1。如果p没有移动k个位置,说明k大于链表的长度,返回0即可。
笑话时间:为什么程序员总是喜欢使用黑色背景?因为黑色背景可以让他们的代码更加酷炫!
阅读全文