链表中倒数第k个节点

Posted hyx

tags:

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

题目描述

输入一个链表,输出该链表中倒数第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 dummy = new ListNode(0);
13         if (k == 0) return null;
14         dummy.next = head;
15         ListNode p1 = dummy, p2 = dummy;
16         int i = 0;
17         while (p1.next != null && i < k - 1) {
18             p1 = p1.next;
19             i++;
20         }
21         if (p1.next == null) {
22             return null;
23         } 
24         
25         
26         while (p1.next != null) {
27             p1 = p1.next;
28             p2 = p2.next;
29         }
30         return p2;
31             
32     }
33 }

 

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

剑指Offer-代码的鲁棒性面试题22:链表中倒数第k个节点

14.链表中倒数第k个节点

剑指offer--22链表中倒数第k个节点

《剑指offer》面试题10:链表中倒数第k个节点

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

代码的鲁棒性:链表中倒数第k个结点