链表算法题目
设计两个指针,指针运行间隔就是需要k,当最后一个指针指到null时,前一个指针为需要的节点
typedef int Data_t;
bool LinkedList(LList * head,int k)
{
//链表为空或者不足k个进行判断直接返回0
// k必须为正整数
if(k < 1)
return 0;
if(head->next == NULL ) return 0;
int count=0 //便利的次数
LList* index_end=head; //寻找尾部的指针
LList* index_k=head; //寻找k的指针
while(NULL != index_end->next)//遍历循环找尾部
{
count++;
if(count>k) //延时k个出发
{
index_k=index_k->next;
}
index_end = index_end->next;
}
if(count <k) return 0;
//读出k的data段
printf("%d\n",index_k->data);
return 1;
}

浙公网安备 33010602011771号