找寻链表的倒数K个结点
来源:互联网 发布:詹姆斯赛季数据 编辑:程序博客网 时间:2024/06/18 11:20
想法就是用两个指针遍历链表,第一个指针先走K-1步,紧接着第二个指针同时开始走,当第一个指针走到链表末尾时,第二个指针刚好指向倒数第K个结点,算法结束。
点评:
1注意防御性编程 :链表不能为空指针,K不能小于0;2当链表长度小于K时,要有处理机制,返回NULL;
struct ListNode{intm_nValue;ListNode* m_pNext;};ListNode* FindKthListNode(ListNode* pHeadList, unsigned K){if (pHeadList == NULL || K == 0)return NULL;//防御性编程ListNode* pAhead = pHeadList;ListNode* pBehind = NULL;for (int i = 0; i < K; ++i){if (pAhead->m_pNext != NULL)//注意这里,当pHeadList长度小于K时,返回NULLpAhead = pAhead->m_pNext;elsereturn NULL;}pBehind = pHeadList;while (pAhead != NULL){pAhead = pAhead->m_pNext;pBehind = pBehind->m_pNext;}return pBehind;}
0 0
- 找寻链表的倒数K个结点
- 链表倒数第k个结点
- 单向链表倒数k个结点
- 查找链表的倒数第K个结点
- 链表的倒数第K个结点--双指针
- 找出链表的倒数第K个结点
- 链表倒数的第K个结点
- 求链表的倒数第K个结点
- 输出链表倒数第K个结点
- 寻找链表倒数第K个结点
- 13. 链表倒数第K个结点
- 链表中的倒数第k个结点
- 找到链表倒数第K个结点
- 剑指:链表中的倒数第k个结点
- 链表中倒数第 K 个结点-反转链表
- 输出链表倒数第k个结点
- 输出链表中的倒数第k个结点
- 剑指offer 输出链表倒数第k个结点
- Quake2 源代码的生成和运行
- 【C++探索之旅】第一部分第三课:第一个C++程序
- java多线程之通过Exchanger线程间传递数据
- 网狐的加密模块,映射加密算法分析
- Webstrom酷炫主题
- 找寻链表的倒数K个结点
- bootstrap中的路由与锚点混合使用锚点乱跳问题
- 【Java】RandomAccessFile
- AI1.1-人工智能史
- 2015063001 - Iterable接口API
- 关于网狐棋牌6603源码的整理、编译和搭建
- 配置spring boot工程
- samba安装配置
- 算法复杂度分析