题解 | #链表中倒数最后k个结点#

链表中倒数最后k个结点

http://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9

typedef struct ListNode Node;

Node* find(Node* pHead, int k)
{
	Node* tmp = pHead;
	int i;
	if (pHead == NULL||k<=0)
		return NULL;
	for (i = 0; i < k-1; i++)
	{
		if (tmp->next == NULL)
			return NULL;
		tmp = tmp->next;
	}
	return tmp;
}

struct ListNode* FindKthToTail(struct ListNode* pHead, int k ) {
	Node* tmpH = pHead;
    Node* tmpK = find(pHead, k);
	if (!tmpK || !tmpH||k<=0)
		return NULL;

	while (tmpK->next != NULL)
	{
		tmpH = tmpH->next;
		tmpK = tmpK->next;
	}
	return tmpH;
}
全部评论

相关推荐

02-23 19:06
已编辑
西北工业大学 Java
点赞 评论 收藏
分享
01-29 18:11
海南大学 Java
奔跑的suechil...:单从项目看这个简历不怕被问穿吗 带微服务的项目需要相当多的项目理解和经验诶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务