LeetCode | 面试题 02.02. 返回倒数第 k 个节点
- 思路:定义两个快慢指针,让快指针先提前走k个节点,然后再让慢结点和快结点一起走,当快指针 == NULL时,慢指针就是倒数第k个节点
代码如下:
int kthToLast(struct ListNode* head, int k){ struct ListNode* slow,*fast; slow = fast = head; while(k--) { if(fast == NULL) return NULL; fast = fast->next; } while(fast != NULL) { slow = slow->next; fast = fast->next; } return slow->val; }