Ruby's Louvre

每天学习一点点算法

导航

leetcode 19. Remove Nth Node From End of List

删掉最后第n个节点。

图解如下:

var removeNthFromEnd = function(head, n) {
    var dummy = new ListNode;
    dummy.next = head;
    var fast = dummy, slow = dummy, goSlow = false
    while(fast.next){
        if(goSlow){
            slow = slow.next
        }
        fast = fast.next
        n--
        if(n == 0){
          goSlow = true
        }
    }
    if(slow.next){
        slow.next = slow.next.next
    }
    return dummy.next
    
};

posted on 2019-12-15 00:36  司徒正美  阅读(198)  评论(0编辑  收藏  举报