ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

输出链表倒数第K个元素的节点值

2019-07-20 17:38:34  阅读:143  来源: 互联网

标签:ListNode int return next 链表 pHead 节点 data 倒数第


#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;
}

标签:ListNode,int,return,next,链表,pHead,节点,data,倒数第
来源: https://blog.csdn.net/qq_42230338/article/details/96608140

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有