您现在的位置:首页 >> 前端 >> 内容

RemoveNthNodeFromEndofList,要求删除链表倒数第n个节点

时间:2017/11/21 11:24:49 点击:

  核心提示:1.说明题目要求删除链表倒数第n个节点。这是个典型的双指针问题,先让前指针走n步,然后两个指针一起走,直到前指针走到链表末尾,最后删掉后指针指向的节点即可。值得注意的是,这里的头指针不是一个指向第一个...

1.说明

题目要求删除链表倒数第n个节点。

这是个典型的双指针问题,先让前指针走n步,然后两个指针一起走,直到前指针走到链表末尾,最后删掉后指针指向的节点即可。

值得注意的是,这里的头指针不是一个指向第一个节点的节点,它就是第一个节点。

2.代码

/** * 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) { var h = new ListNode(0); h.next = head; var i = h, j = h; for (var k = 0; k < n; k++) { j = j.next; } while (j.next) { i = i.next; j = j.next; } i.next = i.next.next; return h.next; };

Tags:RE EM MO OV 
作者:网络 来源:qq_3865260