[剑指Offer] 14.链表中倒数第k个结点
2017-11-20 11:22
375 查看
【思路】利用两个相隔为k-1个结点的指针进行遍历,当后一个指针移到末尾时,前一个指针就是要求的结点。
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution { 10 public: 11 ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { 12 if(pListHead == NULL || k == 0) 13 return NULL; 14 15 ListNode* p = pListHead; 16 ListNode* q = pListHead; 17 18 for(int i = 0;i < k - 1;i ++){ 19 if(q->next != NULL) 20 q = q->next; 21 else 22 return NULL; 23 } 24 25 while(q->next != NULL){ 26 q = q->next; 27 p = p->next; 28 } 29 return p; 30 } 31 };
相关文章推荐
- (C++)剑指offer-14:链表中倒数第k个结点(代码的鲁棒性)
- 【剑指offer】14链表中倒数第k个结点
- 剑指Offer—14—链表中倒数第k个结点
- 剑指Offer_14_链表中倒数第k个结点
- 剑指offer-15:链表中倒数第k个结点
- 剑指offer 输出链表倒数第k个结点
- 剑指offer 链表中倒数第k个结点 @python
- [剑指offer-1517]链表中倒数第k个结点
- 剑指offer:链表中倒数第k个结点(java)
- 剑指offer----链表中倒数第K个结点
- 剑指offer 链表中倒数第k个结点
- 剑指offer之面试题15:链表中倒数第k个结点
- [剑指offer]链表中倒数第k个结点
- 【面试题】剑指offer15--求链表中的倒数第k个结点
- 剑指offer--链表中倒数第k个结点
- 剑指offer之十三---链表中倒数第k个结点
- 【剑指Offer】面试题15:链表中倒数第K个结点
- 剑指Offer:面试题15——链表中倒数第k个结点(java实现)
- 剑指offer:链表中倒数第k个结点
- 剑指offer第十四题【链表中倒数第k个结点】c++实现