题解 | #删除链表的倒数第n个节点#

删除链表的倒数第n个节点

http://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6

/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */

/**
  * 
  * @param head ListNode类 
  * @param n int整型 
  * @return ListNode类
  */
function removeNthFromEnd( head ,  n ) {
    // write code here
    if(!head)return null
    let quick = head;
    let slow = head;
    for(let i = 0;i<n;i++){
        quick = quick.next;
    }
  //这一步真是太关键了
    if(quick == null){
        return head.next
    }
    while(quick.next){
        quick = quick.next;
        slow = slow.next;
    }
    slow.next = slow.next.next
    return head
    
}
module.exports = {
    removeNthFromEnd : removeNthFromEnd
};
全部评论

相关推荐

11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务