链表的倒数第k个节点

链表的倒数第k个节点

传入一个Node指针,求出它指向的链表的倒数第k个节点,假如k超过了链表节点的个数,直接返回第一个节点

代码:

Node *find_buttom_kth(Node * ptr,int k){
	if(ptr==NULL||k<=0)
		return NULL;

	Node * fast=ptr;
	Node * slow=ptr;

	while(fast!=NULL&&k--){

		fast=fast->next;
	}

	if(fast==NULL){
		return slow;
	}

	while(fast){
		slow=slow->next;
		fast=fast->next;
	}

	return slow;

}