要删除链表的倒数第 n 个节点,我们可以先计算出链表长度length,然后再进行处理,假设求出链表长度length为5 如果要删除链表的倒数第 2 个节点,也就是第4个节点,此时我们只需要让链表的第 3 个节点,通过 next 指向到第 5 个节点即可 有一种情况,如果要删除的节点恰好是链表的头节点,这个情况在原链表上就不好...
将慢指针slow所指向的节点的next指针指向下一个节点的next指针,即slow.next = slow.next.next,实现删除倒数第 n 个节点。 返回dummy.next,即为新链表的头结点。 完整代码 class Solution(object):def removeNthFromEnd(self, head, n):dummy = ListNode(0) # 创建一个虚拟头结点,值为0dummy.next = head ...
=0:14start =start.next15n -= 116#start和end一起向后移动17#当start走到尾结点时,end刚好处于倒数第n-1个节点18whilestart.next:19start =start.next20end =end.next21#删除第n个结点22end.next =end.next.next23returndummy.next 二、栈 整体思路:设置一个栈,先将所有的结点弹入栈中,根据栈的特点后...
classSolution:defremoveNthFromEnd(self,head,n):# 初始化一个哑节点,它的下一个节点指向链表头节点# 这样做是为了方便处理边界情况,比如删除的是头节点dummy=ListNode(0)dummy.next=head# 初始化快慢指针,初始时都指向哑节点slow=dummyfast=dummy# 快指针先前进n+1步,走到第n+1个节点# 这里加1是为了让快慢...
督促自己学习用,大佬们轻喷, 视频播放量 328、弹幕量 0、点赞数 7、投硬币枚数 2、收藏人数 7、转发人数 0, 视频作者 小李的成长日记, 作者简介 22岁,程序员,喜欢唱歌、吉他。,相关视频:206.反转链表(Python版),27.移除元素,94. 二叉树的中序遍历(Python),剑指
1、删除链表的倒数第 N 个结点(链表,双指针) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例2: 输入:head = [1], n = 1 ...
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例 给定一个链表: 1->2->3->4->5 n = 2 当删除了倒数第二个节点后,链表变为 1->2->3->5 说明 给定的 n 保证是有效的。 解决思路 已知n是有效的,不用对n进行判断,遍历链表添加到list中; ...
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 测试用例 示例1 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例2 输入:head = [1], n = 1 输出:[] 示例3 输入:head = [1,2], n = 1 输出:[1] ...
删除链表中倒数第n个节点 解题思路 加一个虚假头结点dummy,并使用双指针p1和p2。p1先向前移动n个节点(从dummy节点开始移动,所以移动了n其实是移动到了前一位),然后p1和p2同时移动,当p1.next==None时,此时p2.next指的就是需要删除的节点前面一个节点,将其指向.next.next即可。