14 链表中倒数第k个结点
2018-03-22 15:03
253 查看
定义两个指针start和end,让start先走k步(在走的过程中,需要判断start是否指向NULL,指向的话说明链表长度小于k,直接返回NULL),然后再判断当前start是否指向NULL,指向的话说明量表长度等于k,直接返回end,否则令它们同时往后移动,当start到达链表末尾时,end所指即为链表中倒数第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) { ListNode* start = pListHead; ListNode* end = pListHead; if(k == 0) return NULL; while(k != 0 and start!= NULL){ start = start->next; --k; } if(k > 0) return NULL; while(start != NULL){ start = start->next; end = end->next; } return end; } };
相关文章推荐
- 剑指Offer(14)______链表中倒数第k个结点
- 【剑指offer】14链表中倒数第k个结点
- 剑指Offer——(14)链表中倒数第k个结点
- [剑指Offer] 14.链表中倒数第k个结点
- 剑指Offer_14_链表中倒数第k个结点
- (C++)剑指offer-14:链表中倒数第k个结点(代码的鲁棒性)
- 14.链表中倒数第k个结点
- 剑指offer(14)—链表中倒数第k个结点
- 剑指Offer面试题14使数组中的奇数在偶数前,面试题15链表倒数第k个结点
- 剑指Offer—14—链表中倒数第k个结点
- 【14】链表中倒数第k个结点
- 14链表中倒数第k个结点
- 一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
- 程序员面试题100题第9题——查找链表中倒数第K个结点
- 剑指offer系列-T16链表中倒数第k个结点
- 程序员面试金典 2.2 链表中倒数第k个结点
- 求单链表中倒数第k个结点
- 剑指offer面试题15:链表中倒数第k个结点
- 第五天 链表中倒数第k个结点
- 输入一个链表,输出该链表中倒数第k个结点。