链表中倒数第K个结点
来源:互联网 发布:济南网络推广 编辑:程序博客网 时间:2024/06/06 00:42
求链表中倒数第k个结点思路:
(a)第一个指针在链表上先走k-1步 (b)把第二个指针指向链表的头结点 (c) 两个指针一同沿着链表向前走。
当第一个指针指向链表的尾结点时,第二个指针指向倒数第k个结点
如图:
C代码
typedef struct list_node{ int value; struct list_node *next;}list_node;list_node* find_kth_to_tail(list_node* list_head, unsigned int k){ list_node* head = NULL; list_node* behind = NULL; int i = 0; if (list_head == NULL || 0 == k) return NULL; // head pointer walk k-1 step first head = list_head; for(i=0; i < k-1; ++i){ if (head->next != NULL) head = head->next; else // list node less than k nodes return NULL; } // head pointer and behind pointer walk together behind = list_head; while (head->next != NULL){ head = head->next; behind = behind->next; } return behind;}
阅读全文
0 0
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第 k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 输出链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 链表中倒数第k个结点
- 链表中倒数第k个结点
- 查找链表中倒数第k 个结点
- 链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 链表中倒数第k个结点
- 链表中倒数第k个结点[数据结构]
- 链表中倒数第k个结点
- Hello
- Android Studio中R文件丢失可能的产生原因 以及解决方案
- Android手机开发之动画二三事
- 杂谈
- Run Tomcat时出现A java Exception has occurred的错误及MyEclipse添加Tomcat服务器
- 链表中倒数第K个结点
- 学生信息管理系统错误总结
- JDK文档阅读之Using Custom Socket Factories with Java RMI
- oj 单身情歌
- 译:java
- POJ 3299.Humidex
- 与癌症斗争的乔布斯
- 机器学习一(逻辑回归)
- hdu 1878 欧拉回路