Problem
Given a linked list, remove the nth node from the end of list and return its head.
ExampleGiven linked list: 1->2->3->4->5->null, and n = 2.
After removing the second node from the end, the linked list becomes 1->2->3->5->null.
ChallengeCan you do it without getting the length of the linked list?
Note首先建立dummy结点指向head,复制链表。
然后建立快慢指针结点fast、slow,让fast比slow先走n个结点,再让fast和slow一起走,直到fast到达链表最后一个结点。由于fast比slow快n个结点,所以slow正好在链表倒数第n+1个结点。
最后让slow指向slow.next.next,就删除了原先的slow.next———倒数第n个结点。
返回dummy.next,结束。
class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if (head == null || n <= 0) return head; ListNode dummy = new ListNode(0); dummy.next = head; ListNode slow = dummy, fast = dummy; while (n-- != 0) { fast = fast.next; } while (fast.next != null) { slow = slow.next; fast = fast.next; } slow.next = slow.next.next; return dummy.next; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65667.html
摘要:首先建立按时间戳从大到小排列的,找到中的,出其中在中存在的,把每一个的推特链表放入,再从中取头十条推特的放入结果数组。 Design Twitter Note 建立两个HashMap,一个存user,一个存tweets。以及整型的时间戳timestamp。user的k-v pair是userId-follower_set,tweets的k-v pair是userId-tweets_li...
摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...
摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...
摘要:先用快指针向前走步,这样快指针就领先慢指针步了,然后快慢指针一起走,当快指针到尽头时,慢指针就是倒数第个。注意因为有可能删除头节点,我们需要一个代码快指针先走步从开始慢指针和快指针一起走删除当前的下一个节点 Remove Nth Node From End of List 最新更新的解法和思路:https://yanjia.me/zh/2018/11/... Given a link...
摘要:题目详情题目要求输入一个和一个数字。要求我们返回删掉了倒数第个节点的链表。想法求倒数第个节点,我们将这个问题转化一下。我们声明两个指针和,让和指向的节点距离差保持为。解法使点和点的差距为同时移动和使得到达的末尾删除倒数第个节点 题目详情 Given a linked list, remove the nth node from the end of list and return it...
阅读 1102·2023-04-26 00:12
阅读 3186·2021-11-17 09:33
阅读 1018·2021-09-04 16:45
阅读 1146·2021-09-02 15:40
阅读 2055·2019-08-30 15:56
阅读 2878·2019-08-30 15:53
阅读 3477·2019-08-30 11:23
阅读 1892·2019-08-29 13:54