码迷,mamicode.com
首页 > Web开发 > 详细

19. Remove Nth Node From End of List(js)

时间:2019-02-16 13:35:00      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:amp   ber   param   两个指针   rom   while   The   bec   ++   

19. Remove Nth Node From End of List

Given a linked list, remove the n-th node from the end of list and return its head.

Example:

Given linked list: 1->2->3->4->5, and n = 2.

After removing the second node from the end, the linked list becomes 1->2->3->5.
题意:删除链表的倒数第n个节点
代码如下:
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @param {number} n
 * @return {ListNode}
 */
var removeNthFromEnd = function(head, n) {
     if(head.next==null) return null;
        //定义两个指针
        let pre=head,cur=head;
        //让cur沿着head向后移动n个节点
        for(let i=0;i<n;i++){
            cur=cur.next;
        }
        if(!cur) return head.next;
        //直至cur指向head末端
        while(cur.next){
            cur=cur.next;
            pre=pre.next;
        }
        pre.next=pre.next.next;
        return head; 
};

 

19. Remove Nth Node From End of List(js)

标签:amp   ber   param   两个指针   rom   while   The   bec   ++   

原文地址:https://www.cnblogs.com/xingguozhiming/p/10387351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!