链表倒数第k个结点
1、鏈表倒數第k個結點
題目描述:輸入一個鏈表,輸出該鏈表中倒數第k個結點。?
解題思路:快慢指針。
#include<iostream> using namespace std; class ListNode {int val;struct ListNode *next; public:ListNode(int x) :val(x), next(NULL) {}~ListNode(){ListNode *temp=this;while(temp!=NULL){temp=temp->next;delete this;}}ListNode* FindKthToTail(ListNode* pListHead, unsigned int k); };ListNode* ListNode::FindKthToTail(ListNode* pListHead, unsigned int k) {ListNode *fast = pListHead;ListNode *slow = pListHead;for (int i = 0; i < k-1 && fast != NULL; i++){fast = fast->next;}if (fast == NULL)cout<<"輸入k非法"<<endlwhile (fast->next != NULL){fast = fast->next;slow = slow->next;}return slow; }?
總結
- 上一篇: Verilog HDL 语法整理 (一)
- 下一篇: 技术、产品、交流、思考 - 微软技术暨生