[Lc]面试题22链表中倒数第k个节点
Contents
题目
题解
快慢指针
- 时间复杂度$O(n)$
- 空间复杂度$O(1)$
class Solution {
public:
ListNode* getKthFromEnd(ListNode* head, int k) {
if(k==0 || !head) return nullptr;
ListNode *fast = head, *slow = head;
int n = 0;
while(fast){
if(n >= k) slow = slow->next;
fast = fast->next;
n++;
}
if(n<k) return nullptr;
return slow;
}
};
Author ChrisHRZ
LastMod 2020-05-14