一、题目描述
二、算法思想
思路1:可以两次遍历找到第k个节点
思路2:采用双指针法,p指针先走k,然后让p,q再同时移动,返回q所指向的节点
三、代码实现
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
int Search_K(LinkList list,int k)
{
LNode *p = list->next;
LNode *q = list->next;
int count = 0;
while (p != NULL)
{
if(count < k)
count++;
else q = q->next;
p = p->next;
if(count < k)
return 0;
else{
printf("%d",q->next);
return 1;
}
}
}