首页 > 代码库 > 【leetcode?python】 19. Remove Nth Node From End of List
【leetcode?python】 19. Remove Nth Node From End of List
双指针思想:两个指针相隔n-1,每次两个指针向后一步,当后面一个指针没有后继了,前面一个指针的后继就是要删除的节点
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def removeNthFromEnd(self, head, n):
"""
:type head: ListNode
:type n: int
:rtype: ListNode
"""
dummy=ListNode(0)
dummy.next=head
p=dummy
q=dummy
for i in range(n):
q=q.next
while q.next:
p=p.next
q=q.next
rec=p.next
p.next=rec.next
del rec
return dummy.next
【leetcode?python】 19. Remove Nth Node From End of List
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。