1.可以先统计链表长度n,然后往后移动n-k次,返回即可。

2.使用双指针,前一个指针先移动k下,然后一起往后移动。

   \* Definition for singly-linked list.
   \* struct ListNode {
   \*     int val;
   \*     ListNode *next;
   \*     ListNode(int x) : val(x), next(NULL) {}
   \* };
   \*/
class Solution {
public:
    ListNode* getKthFromEnd(ListNode* head, int k) {
        ListNode *l1,*l2;
        l1=head;
        l2=head;
        while(k>1)
        {
            l2=l2->next;
            k--;
        }
        while(l2->next)
        {
            l1=l1->next;
            l2=l2->next;
        }
        return l1;
    }
};