频道栏目
首页 > 资讯 > HTML/CSS > 正文

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

17-11-21        来源:[db:作者]  
收藏   我要投稿

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; };
相关TAG标签
上一篇:js删除字符串中的所有空格
下一篇:js深度拷贝和浅度拷贝实现方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站