c_cpp 获取列表中的最后一个第k个节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 获取列表中的最后一个第k个节点相关的知识,希望对你有一定的参考价值。

// key idea: first, go k-1 step.

ListNode* get_last_kth_node(ListNode *head, int k) {
	if(!head) return NULL;
	if(k == 0) return NULL;
	ListNode *p = head;
	// run k-1 steps
  for(int i=0; i<k-1; i++) {
  	if(p->next == NULL) return NULL;
  	p = p->next;
  }
  ListNode *slow = head;
  while(p->next) {
  	slow = slow->next;
  	p = p->next;
  }
  return slow;
}

以上是关于c_cpp 获取列表中的最后一个第k个节点的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 从两个排序的数组中获取第k个最小元素。数组中的前k个

c_cpp 交换第k个节点

c_cpp 19.从列表末尾删除第N个节点

c_cpp 从链接列表的末尾开始编程第n个节点

c_cpp 19.从列表末尾删除第N个节点 - 中 - 2018.8.7

每日一练(剑指offer)链表中倒数最后k个节点