链表中倒数第k个结点
2016-07-29 17:25
288 查看
题目描述
输入一个链表,输出该链表中倒数第k个结点。/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};
*/
class Solution {
public:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k)
{
if(NULL==pListHead) return NULL;
int n=0;
ListNode* pCur=pListHead;
while(pCur!=NULL)
{
++n;
pCur=pCur->next;
}
if(n<k) return NULL;
pCur=pListHead;
n=n-k;
while(n--){
pCur=pCur->next;
}
return pCur;
}
};
还有一个方法就是定义两个指针,指针一走到第k个节点,指针2指向头结点,两个指针一起往前走,指针1走到尾后指针2指向倒数第k个
相关文章推荐
- Linux-DTS基础
- EasyUI 可调整尺寸
- 收藏 | DIV+CSS规范命名大全集合
- [转载] 用位运算实现加法运算(CPU内部实现)
- 一步一步解析集合框架LinkedList源码(1)
- 计算帧数错误记录
- noip2011 铺地毯
- ios获取当前时间,并对时间的相应处理
- spring boot(8) 配置外部tomcat(2) dependencyManagement的方式
- C++ 的枚举和宏
- HDU-5775-Bubble Sort-树状数组
- Android应用开发揭秘[高清PDF版+源码]
- android开发笔记之内置图片到图库
- Java / Android 基于Http的多线程下载的实现
- struts1标签<logic:present>
- quartz spring 实现动态定时任务
- Java100:javaSE备忘
- Linux设备模型之kobject
- Oracle创建自己启动脚本
- HDU1864最大报销额