链表中倒数第 k 个结点

public ListNode FindKthToTail(ListNode head, int k) {
    if (head == null)
        return null;

    ListNode dummyHead = new ListNode(-1);
    dummyHead.next = head;

    ListNode p = dummyHead;
    ListNode q = dummyHead; //先走 k 步
    for(int i=0;i<k;i++){
        q=q.next;
        if(q==null){ // 说明 k 大于链表长度,这直接返回 null
            return null;
        }
    }

    while(q!=null){
        p = p.next;
        q = q.next;
    }
    return p;
}

https://www.mianshi.onlinehttps://www.i9code.cn

本文由博客一文多发平台 OpenWrite 发布!

逃跑的眼镜_bvbEK5
7 声望0 粉丝