资讯专栏INFORMATION COLUMN

【刷算法】LeetCode.19-删除链表的倒数第N个节点

Binguner / 1028人阅读

摘要:题目描述给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。

题目描述

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

示例:

</>复制代码

  1. 给定一个链表: 1->2->3->4->5, 和 n = 2.
  2. 当删除了倒数第二个节点后,链表变为 1->2->3->5.

说明:

</>复制代码

  1. 给定的 n 保证是有效的。
代码实现

</>复制代码

  1. /**
  2. * Definition for singly-linked list.
  3. * function ListNode(val) {
  4. * this.val = val;
  5. * this.next = null;
  6. * }
  7. */
  8. /**
  9. * @param {ListNode} head
  10. * @param {number} n
  11. * @return {ListNode}
  12. */
  13. var removeNthFromEnd = function(head, n) {
  14. if(n <= 0)
  15. return head;
  16. let len = 0;
  17. let cur = head;
  18. while(cur !== null) {
  19. len++;
  20. cur = cur.next;
  21. }
  22. if(n > len)
  23. return head;
  24. let index = len-n;
  25. let newHead = new ListNode(null);
  26. newHead.next = head;
  27. cur = newHead;
  28. while(index !== 0) {
  29. index--;
  30. cur = cur.next;
  31. }
  32. cur.next = cur.next.next;
  33. return newHead.next;
  34. };

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97222.html

相关文章

  • LeetCode 19删除表的倒数N节点 Remove Nth Node From End

    摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...

    qiangdada 评论0 收藏0
  • LeetCode 19删除表的倒数N节点 Remove Nth Node From End

    摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...

    周国辉 评论0 收藏0
  • LeetCode天梯>Day025 删除表的倒数N节点(双指针) | 初级算法 | Pyth

    摘要:示例输入输出示例输入输出示例输入输出提示双指针法分析根据题干的要求,我们需要删除倒数第个节点,在返回头结点。只需要找到倒数第个节点,将其删除,再返回。 ?作者简...

    andot 评论0 收藏0
  • Leetcode完31道链表题的一点总结

    摘要:既然说到地址空间了就顺带说一下上面环形链表这道题的另一种很的解法吧。介绍完常规操作链表的一些基本知识点后,现在回到快慢指针。   前几天第一次在 Segmentfault 发文—JavaScript:十大排序的算法思路和代码实现,发现大家似乎挺喜欢算法的,所以今天再分享一篇前两个星期写的 Leetcode 刷题总结,希望对大家能有所帮助。   本文首发于我的blog 前言   今天终于...

    DevTalking 评论0 收藏0
  • leetcode19 Remove Nth Node From End of List 从链表中移除

    摘要:虽然时间复杂度还是但是显然我们可以再一次遍历中完成这个任务。现在跳出下标的思路,从另一个角度分析。快慢节点之间的距离始终是。当快节点到达终点时,此时的慢节点就是所要删去的节点。 题目要求 Given a linked list, remove the nth node from the end of list and return its head. For example, ...

    YPHP 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<