#include <stdlib.h>
#include <string.h>
#include <stdio.h>
typedef struct _ListNode{
int data;
struct _ListNode *next;
}ListNode;
ListNode* LinkList_Create(int *value,int len)
{
ListNode *pHead = (ListNode*)malloc(sizeof(ListNode));
ListNode *pTail = pHead;
for(int i=0; i < len; i++)
{
ListNode *pCur = (ListNode*)malloc(sizeof(ListNode)) ;
pCur->data = value[i];
pTail->next = pCur;
pTail = pCur;
}
pTail->next = NULL;
return pHead;
}
void ShowNode(ListNode* head)
{
ListNode* p = head->next;
for(;p;p = p->next) printf("%d ",p->data);
printf("\n");
}
int FindKthtoList(ListNode *pHead,int k)
{
ListNode *p=pHead->next;
ListNode *q=pHead->next;
while(k>1)
{
p = p->next;
k--;
}
if(p==NULL)
{
return -1;
}
while(p->next!=NULL)
{
p = p->next;
q = q->next;
}
return q->data;
}
int main()
{
int data[7] = {2,3,6,4,5,7,9};
ListNode* pHead = LinkList_Create(data,7);
ShowNode(pHead);
int ret = FindKthtoList(pHead,3) ;
printf("%d\n",ret);
return 0;
}