剑指offer:链表中倒数第k个结点(链表)
2015-07-06 10:24
169 查看
题目描述
输入一个链表,输出该链表中倒数第k个结点。分析:
两个指针pointResult和pointEnd一起指向头结点,然后根据k,移动pointEnd,使pointResult和pointEnd的距离为k-1。然后同时移动pointResult和pointEnd,当pointEnd指向最后一个结点时,pointResult指向倒数第k个结点。这种方法只用遍历一次链表。
代码:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if(pListHead==nullptr || k<1) return nullptr; ListNode* pointResult = pListHead; ListNode* pointEnd = pListHead; int i; for(i=1;i<k;i++){ if(!pointEnd->next) break; pointEnd = pointEnd->next; } if(i!=k) return nullptr; while(pointEnd->next){ pointEnd = pointEnd->next; pointResult = pointResult->next; } return pointResult; }
相关文章推荐
- 一个比较轻巧好用的js分页插件,可ajax可url
- css笔记07:通配符选择器
- Js获取当前日期时间及其它操作
- canvas连线
- 简单随机抽奖小活动
- html5 java多图片上传
- jquery easyui filebox 上传附件 + asp.net后台
- Vmware Workstation中配置Fedora的bridge上网
- Dynamics.js - 创建逼真的物理动画的 JS 库
- javascript运动详解
- jquery form插件 上传/导入excel-ajax验证
- jQuery fadeIn() 、fadeOut()
- jQuery 选择器/筛选
- opencl buffer
- sharedPreferences学习
- jQuery DOM操作
- Bootstrap,导航栏点击效果修复(补)
- JavaScript JsTree实例
- css积累
- css3 图片翻转效果