//链表中求倒数第k个节点
10 Node *find(Node *head,int k)
11 {
12 if(head==NULL || k==0)
13 return NULL;
14 Node *phead=head;
15 Node *pcurr=head;
16 //让前一个指针向前走k个位置,
17 //最后成功返回pcurr就是需要找的倒数第k个节点的位置
18 while(phead !=NULL && k--)
19 {
20 phead=phead->next;
21 }
22 //防止因为phead==NULL并且还没到k个节点的时候结束了
23 if(phead==NULL && k>0)
24 return NULL;
25 while(phead !=NULL)
26 {
27 phead=phead->next;
28 pcurr=pcurr->next;
29 }
30 return pcurr;
31 }