剑指OFFER链表中倒数第k个结点

Posted moongazer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指OFFER链表中倒数第k个结点相关的知识,希望对你有一定的参考价值。

【问题描述】

输入一个链表,输出该链表中倒数第k个结点。

时间限制:1秒 空间限制:32768K

【AC代码】

p先走k步,q再走,这样p和q的距离就是k了,等p走到尽头,那么q自然就到了倒数第k个位置了。

技术图片
 1 /*
 2 public class ListNode 
 3     int val;
 4     ListNode next = null;
 5 
 6     ListNode(int val) 
 7         this.val = val;
 8     
 9 */
10 public class Solution 
11     public ListNode FindKthToTail(ListNode head,int k) 
12         ListNode p, q;
13         p = q = head;
14         int i = 0;
15         for (;p != null; i++) 
16             if (i >= k) q = q.next;
17             p = p.next;
18         
19         return i < k ? null : q;
20     
21 
View Code

 

以上是关于剑指OFFER链表中倒数第k个结点的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer:链表中倒数第k个结点

剑指offer 14.链表中倒数第k个结点

剑指offer链表中倒数第k个结点

剑指offer-链表中倒数第 K 个结点

链表中倒数第k个结点-剑指Offer

剑指Offer对答如流系列 - 链表中倒数第k个结点