链表之链表的倒数第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;

}

posted @ 2014-10-30 13:23  CommonQ  阅读(120)  评论(0编辑  收藏  举报