面试题15:输入一个链表,输出该链表中倒数第k个结点。
来源:互联网 发布:linux shell for循环 编辑:程序博客网 时间:2024/06/06 00:36
题目:输入一个链表,输出该链表中倒数第k个结点。
思路:设置两个指针p和q,让指针p先走k-1步,然后让p和q同时后移一个结点直到p的下一个结点为空,此时q的位置刚好是倒数第K个结点。
注意点:
1) k<0或链表为空时
2) 没有第K个结点时
struct ListNode{ int m_nValue; ListNode * m_pNext;};ListNode * FindKthToTail(ListNode * pHead,unsigned int k){if(pHead==NULL||k<0){return NULL;}ListNode * p=pHead; ListNode * q=pHead;int i=1;while(i<k){if(p->m_pNext!=NULL){p=p->m_pNext;i++;}else{//说明没有倒数第K个结点return NULL;}}while(p->m_pNext!=NULL){p=p->m_pNext;q=q->m_pNext;}return q;}
0 0
- 面试题15:输入一个链表,输出该链表中倒数第k个结点。
- 面试题15、输入一个链表,输出该链表中倒数第k个结点。
- 链表中倒数第k个结点 输入一个链表,输出该链表中倒数第k个结点。
- 剑指Offer 15 输入一个链表,输出该链表中倒数第k个结点
- 面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
- 11. 微软面试题:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针
- 13、输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 13 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输入一个单向链表,输出该链表中倒数第K个结点
- 输入一个链表,输出该链表中倒数第k个结点。
- 输入一个单向链表,输出该链表中倒数第 k 个结点
- 关于prototype使用位置问题的讨论
- 2015-google I/O大会综述:Android M、Android Studio、云端测试工具
- 第八章习题
- 每日一个知识点--JS实现方法重载
- JAVA-6大设计原则
- 面试题15:输入一个链表,输出该链表中倒数第k个结点。
- 黑马程序员——网络编程
- 反向代理,正向代理
- VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)
- Fedora 下nginx和php的安装
- PHP字符串处理
- 一个OpenStack访问请求在各组件之间的调用过程
- TeeChart绘图控件 - 之三 - 提高绘图的效率
- MySQL密码修改方法