摘要:题目描述给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。
题目描述
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
示例:
</>复制代码
给定一个链表: 1->2->3->4->5, 和 n = 2.
当删除了倒数第二个节点后,链表变为 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(n <= 0)
return head;
let len = 0;
let cur = head;
while(cur !== null) {
len++;
cur = cur.next;
}
if(n > len)
return head;
let index = len-n;
let newHead = new ListNode(null);
newHead.next = head;
cur = newHead;
while(index !== 0) {
index--;
cur = cur.next;
}
cur.next = cur.next.next;
return newHead.next;
};
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/97222.html
摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...
摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...
摘要:示例输入输出示例输入输出示例输入输出提示双指针法分析根据题干的要求,我们需要删除倒数第个节点,在返回头结点。只需要找到倒数第个节点,将其删除,再返回。 ?作者简...
摘要:既然说到地址空间了就顺带说一下上面环形链表这道题的另一种很的解法吧。介绍完常规操作链表的一些基本知识点后,现在回到快慢指针。 前几天第一次在 Segmentfault 发文—JavaScript:十大排序的算法思路和代码实现,发现大家似乎挺喜欢算法的,所以今天再分享一篇前两个星期写的 Leetcode 刷题总结,希望对大家能有所帮助。 本文首发于我的blog 前言 今天终于...
摘要:虽然时间复杂度还是但是显然我们可以再一次遍历中完成这个任务。现在跳出下标的思路,从另一个角度分析。快慢节点之间的距离始终是。当快节点到达终点时,此时的慢节点就是所要删去的节点。 题目要求 Given a linked list, remove the nth node from the end of list and return its head. For example, ...
阅读 3768·2023-04-25 14:35
阅读 3506·2021-11-15 18:00
阅读 2996·2021-11-12 10:34
阅读 2616·2021-11-11 16:54
阅读 3609·2021-10-08 10:12
阅读 2871·2021-09-06 15:02
阅读 3396·2021-09-04 16:48
阅读 2915·2019-08-29 14:02