给定一个链表: 1->2->3->4->5, 和 k = 2.
    返回链表 4->5.

    思路:快慢指针法,快的也走K步,然后快慢同步走,快的走到头时,慢的位置即答案。

    1. ListNode* moveK(ListNode *cur, int k) {
    2. for (int i = 0; i < k; i++) {
    3. cur = cur->next;
    4. }
    5. return cur;
    6. }
    7. ListNode* getKthFromEnd(ListNode* head, int k) {
    8. ListNode *slow = head;
    9. ListNode *cur = moveK(head, k);
    10. while (cur) {
    11. slow = slow->next;
    12. cur = cur->next;
    13. }
    14. return slow;
    15. }