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

相关推荐

totoroyyw:千年老妖😂
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务