interview_internal_reference icon indicating copy to clipboard operation
interview_internal_reference copied to clipboard

倒数第K个节点

Open fnlearner opened this issue 6 years ago • 1 comments

设置一个头结点,它的下一个节点是原始指针,设置两个指针,一个快指针,一个慢指针,快指针多走n+1步,这样当快指针到达尾部的下一个节点的时候,慢指针的下一个节点就是要删除的节点

var removeNthFromEnd = function(head, n) {
    let dummy = new ListNode(0);
    dummy.next= head;
    let slow =dummy;
    let fast = dummy;
    while(n>=0){
        fast = fast.next;
        n--;
    }
    if(!fast) return head.next;
    while(fast!=null){
        fast = fast.next;
        slow = slow.next;
    }  
    slow.next = slow.next.next; 
    return dummy.next;

};

fnlearner avatar Oct 11 '19 09:10 fnlearner

commit to master.

wangbojing avatar Oct 11 '19 09:10 wangbojing