classSolution{public:
ListNode*getKthFromEnd(ListNode* head,int k){//方法二、双指针
ListNode *slow = head;
ListNode *fast = head;for(int i =0; i < k;++i){
fast = fast->next;}while(fast !=nullptr){
slow = slow->next;
fast = fast->next;}return slow;}};
解题思路三
将双指针进行改进,节省内存消耗。
classSolution{public:
ListNode*getKthFromEnd(ListNode* head,int k){//将双指针进行改进,节省内存消耗。
ListNode *fast = head;for(int i =0; i < k;++i){
fast = fast->next;}while(fast !=nullptr){
head = head->next;
fast = fast->next;}return head;}};