《剑指Offer》 链表中倒数第k个结点
来源:互联网 发布:淘宝如何复制宝贝链接 编辑:程序博客网 时间:2024/05/07 12:11
题目描述:
输入一个链表,输出该链表中倒数第k个结点。
思路:
设置一个新ret,先将pListHead位置往后移k-1位,使得ret与pListHead距离为k-1,这样只要pListHead为最后一个位置时,ret的位置就是倒数第k个节点的位置,返回ret。
代码:
/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { ListNode *ret = pListHead; unsigned int i = 0; //向前步进k-1个节点,因为链表个数可能不足,所以需要判断head值是否有效 while (pListHead && i < k-1) { ++i; pListHead = pListHead->next; } //head为NULL的话,说明链表个数不足,返回NULL if (!pListHead) { return NULL; } //让ret与head同步向后步进,这样保证了ret与head之间的距离为k-1。 //这样当head到达最后一个节点的时候,ret即为所求的值。 while (pListHead->next) { ret = ret->next; pListHead = pListHead->next; } return ret; }};
输出结果:运行时间: <1 ms 占用内存:8552K 状态:答案正确
0 0
- 剑指Offer之链表中倒数第k个结点
- 剑指offer-15:链表中倒数第k个结点
- 剑指offer系列源码-链表中倒数第k个结点
- 剑指offer--链表中倒数第k个结点
- 剑指Offer之 - 链表中倒数第k个结点
- 剑指offer:链表中倒数第k个结点(链表)
- 剑指Offer-链表中倒数第k个结点
- 剑指offer——链表中倒数第k个结点
- 链表中倒数第k个结点(剑指offer)
- 《剑指offer》链表中倒数第k个结点
- 剑指 offer:链表中倒数第k个结点
- 剑指offer—链表中倒数第k个结点
- 剑指offer--链表中倒数第k个结点-java
- 《剑指offer》——链表中倒数第k个结点
- [剑指offer-1517]链表中倒数第k个结点
- 剑指offer 链表中倒数第k个结点
- 剑指offer-链表中倒数第k个结点
- 剑指Offer--015-链表中倒数第k个结点
- 色彩 标准卡大全及配色方案
- 从F型网页浏览看用户对网页…
- 1025. PAT Ranking (25)
- Java并发编程:同步容器
- 有感
- 《剑指Offer》 链表中倒数第k个结点
- linux git ssh配置
- 蓝桥杯——连号区间数
- bzoj1112: [POI2008]砖块Klo
- poj 3863Business Center
- 二叉树的线索化详解
- js动态生成xml数据格式
- MVC Design Pattern in Cocoa
- 让iframe子页面中的bootstrap模态框的背景覆盖到父页面