站内搜索:
首页 >> 前端 >> 内容
RemoveNthNodeFromEndofList,要求删除链表倒数第n个节点

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

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; };

  • 上一篇:webpack2.1.0的使用中需要注意的问题
  • 下一篇:在调用方法时,如何让方法中的参数指向元素本身?
  • 返回顶部