【链表】链表中倒数最后k个节点_i++

 int   length(pHead):求链表长度

假设链表长度为n,求倒数后k个节点,就是求第n-k+1的节点为头结点的链表,只要求出n

,然后指针从链表头结点走n-k步即可

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param pHead ListNode类 
     * @param k int整型 
     * @return ListNode类
     */
    public ListNode FindKthToTail (ListNode pHead, int k) {
        // write code here
        int len=length(pHead);
        if(len<k)return null;
        int n=len-k+1;
        int step=0;
        ListNode p=pHead;
        for(int i=0;i<n-1;i++){
            p=p.next;
        }
        return p;
    }
    public int length(ListNode pHead){
        if(pHead==null)return 0;
        int len=0;
        ListNode p=pHead;
        while(p!=null){
            p=p.next;
            len++;
        }
        return len;
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.