输出链表中倒数第k个节点
2017-08-26 22:48
232 查看
题目描述
输入一个链表,输出该链表中倒数第k个结点。struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };
算法的实现:快慢指针
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if(pListHead==NULL||k==0) return NULL; ListNode *fast=NULL; fast=pListHead; ListNode *slow=NULL; slow=pListHead; for(int i=1;i<k;i++)//注意此处PListHeaD是头结点,需要移动K-1个,之间相差K if(fast->next!=NULL)//注意此处快指针的next存在和不存在的情况 fast=fast->next; else return NULL; while(fast->next!=NULL) { fast=fast->next; slow=slow->next; } return slow; }
相关文章推荐
- 输出链表的倒数第k个节点
- 输出链表倒数第K个节点
- 微软面试之13 输入一个单向链表 输出该链表的倒数第k个节点
- 输出链表中倒数第k个节点
- 输出链表的倒数第k个节点
- 输出链表倒数第K个节点
- 输出链表的倒数第k个节点
- 输出单向链表倒数第k个节点,倒数第0个指向尾节点.
- 华为OJ题目(十九):输出单链表倒数第K个节点
- 剑指offer-第三章高质量的代码(输出该链表中倒数第K个节点)
- 算法---输出单向链表中倒数第K个节点
- Java输出链表倒数第k个节点
- 输出链表倒数第K个节点
- 华为OJ-输出单向链表中倒数第k个节点
- 【华为oj2065】输出单向链表倒数第k个节点
- (算法)输出单链表的倒数第k个节点,删除特点的节点和从链表尾一次输出节点值
- 输出链表倒数第K个节点
- 第十四题 输出链表的倒数第k个节点的值
- 输出单向链表中倒数第k个节点
- 给出一个单向链表的头指针,输出该链表中倒数第K个节点的指针