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

public static ListNode getKthFromEnd(ListNode head, int k) {
    // 思路双指针
    ListNode p = head;
    // 让p先走k步
    while (k > 0){
        p = p.next;
        k--;
    }
    // 然后p和head一起走 head永远落后p有k步 直到p走完 head就定位到倒数第k了
    while (p != null){
        head = head.next;
        p = p.next;
    }
    return head;
}

猜你喜欢

转载自blog.csdn.net/a792396951/article/details/113724873