牛客题霸 [链表中倒数第k个结点] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [链表中倒数第k个结点] C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈表中倒數第k個結點
題解:
我們把鏈表存兩份,讓其中一個先走k個節點,然后兩個鏈表一起走,直到第一個鏈表到頭,因為兩個相差k個節點,所以第二個鏈表停的位置就是倒數第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 *pList1=pListHead;ListNode *pList2=pListHead;for(int i=0;i<k;i++){if(pList2==NULL)return NULL;pList2=pList2->next;}while(pList2){pList1=pList1->next;pList2=pList2->next;}return pList1;} };總結
以上是生活随笔為你收集整理的牛客题霸 [链表中倒数第k个结点] C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12.1 寸平板立减千元:荣耀平板 V8
- 下一篇: 牛客题霸 [买卖股票的最好时机] C++