最强解析面试题:链表中倒数最后k个结点

文章目录


最强解析面试题:链表中倒数最后k个结点

最强解析面试题:链表中倒数最后k个结点

文章讲解 “ 链表中倒数最后k个结点 ” 经典面试题,包含思路及源码,及解惑!

题目

输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。

如果该链表长度小于k,请返回一个长度为 0 的链表。

代码

func FindKthToTail(pHead *ListNode, k int) *ListNode {
   if pHead == nil || k <= 0 {
      return nil
   }
   index := 0
   tmp := &ListNode{}
   tmp.Next = pHead
   for pHead != nil {
      index++
      if index >= k {
         tmp = tmp.Next
      }
      pHead = pHead.Next
   }
   if index < k {
      tmp = nil
   }
   return tmp
}

附录

What you do is who you are !

上一篇:Dubbo入门 - 分布式系统开发技术


下一篇:数据结构//C——动态分配—离散存储(非循环单链表)2