求链表中倒数第K个节点
来源:互联网 发布:keras 安装 windows 编辑:程序博客网 时间:2024/06/08 00:23
- 题目:输入一个链表输出链表中的第K个节点,(计数从1开始),链表节点定义如下:
struct ListNode{ ListNode() :_next(NULL) , _data(0) {} ListNode *_next; int _data;};
思路:我们可以定义两个指针,第一个指针从链表的头指针开始向前走K个节点,第二个指针开始保持不动,第一个走完K个后,第二个指针从链表头部开始,当第一个指针到达最后的NULL时,第二个指针刚好是倒数第K个结点。
实现代码
ListNode *FindKthToTail(ListNode *pHead, size_t k){ if (NULL == pHead || k == 0) return NULL; ListNode *fast = pHead; ListNode *slow = pHead; for (size_t i = 0; i < k; ++i) { if (fast)//防止k大于链表节点个数 fast = fast->_next; else return NULL; } while (fast) { fast = fast->_next; slow = slow->_next; } return slow;}
- 完整代码请戳:
https://coding.net/u/Hyacinth_Dy/p/MyCode/git/blob/master/%E6%9F%A5%E6%89%BE%E9%93%BE%E8%A1%A8%E4%B8%AD%E5%80%92%E6%95%B0%E7%AC%ACK%E4%B8%AA%E8%8A%82%E7%82%B9
阅读全文
0 0
- 求链表中倒数第K个节点
- 求链表中倒数第K个节点
- 求链表中倒数第K个节点
- 求链表中倒数第K个节点
- 寻找倒数第K个节点...
- 查找链表中倒数第K个节点
- 输出链表中倒数第k个节点
- 链表倒数第k个节点
- 求链表倒数第k个节点
- 单链表中, 求倒数第K个节点
- 求链表的倒数第K个节点
- 求链表倒数第K个节点
- 求链表的倒数第K个节点
- coding - 求单链表倒数第k个节点
- 求链表中的倒数第K个节点
- 寻找倒数第K个节点...
- 链表倒数第k个节点
- 单链表查找倒数第k个节点
- Scala的join算子
- MyEclipse 2017 优化技巧
- ZigBee_CC2530_0CH_终端动态切换信道
- 几种排序算法的python实现
- springMVC中关于时间的处理
- 求链表中倒数第K个节点
- Python--类的创建与继承
- leetcode 24. Swap Nodes in Pairs
- 安卓开发环境ADT报错:adt版本低于sdk版本,请升级
- 缓冲流和包装流
- <c:param> 标签的使用
- 快速排序qsort,sort函数用法
- 代理模式
- 多余的.git目录出现在vendor的包内