题解 | #链表中倒数最后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;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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