leetcode hot100 删除链表的第n个节点

19. 删除链表的倒数第 N 个结点

已解答

中等

相关标签

相关企业

提示

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

Definition for singly-linked list.

class ListNode(object):

def init(self, val=0, next=None):

self.val = val

self.next = next

class Solution(object):

def removeNthFromEnd(self, head, n):

"""

:type head: OptionalListNode

:type n: int

:rtype: OptionalListNode

"""

用list很好实现

可以双指针,慢的慢n个,当都到达的时候,就是对了

low = head

fast =head

prev = None

next_node = fast.next

for i in range(n):

fast = fast.next

while fast!=None:

prev = low

low=low.next

next_node = low.next

fast = fast.next

if prev!=None:

prev.next=next_node

return head

else:

return head.next

很简单,可以用list直接做,高级做法是双指针

相关推荐
Jerry1 小时前
LeetCode 160. 相交链表
算法
Jerry1 小时前
LeetCode 19. 删除链表的倒数第 N 个结点
算法
金銀銅鐵1 小时前
费马小定理
python·数学·算法
技术不好的崎鸣同学3 小时前
[ACTF2020 新生赛]Exec 思路及解法
算法·安全·web安全
Full Stack Developme4 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
Jerry5 小时前
LeetCode 707. 设计链表
算法
C语言小火车6 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
weixin_400005606 小时前
Vision-Language-Action:LMDrive双损失函数训练模块与 LangAuto 基准评测框架
人工智能·深度学习·算法·机器学习·自动驾驶
kebidaixu6 小时前
两轮BMS AFE SH367306 I2C 读写时序
算法