1. 程式人生 > >Leetcode做題日記:19. 刪除連結串列的倒數第N個節點(PYTHON)

Leetcode做題日記:19. 刪除連結串列的倒數第N個節點(PYTHON)

給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。
示例:
給定一個連結串列: 1->2->3->4->5, 和 n = 2.
當刪除了倒數第二個節點後,連結串列變為 1->2->3->5.
說明:
給定的 n 保證是有效的。

res=ListNode(0)
        res.next=head
        l1=res
        l2=res
        for i in range(n):
            l1=l1.next#先執行n次
        while l1.next
:#執行L-n次 l1=l1.next l2=l2.next #變相執行n次 l2.next=l2.next.next #已到第n個節點,跨過去就是了 return res.next #前面l1,l2都是遍歷res,真正對同一個連結串列res操作是最後一步 ,擊敗99.97% #注意在python中的賦值問題 #下面的是正的兩次遍歷法,當l2=res.next時會報錯,說None沒有貢獻next,所以把l2=res res=ListNode(0) res.next=head l1=
res.next l2=res l3=res L=1 while l1.next: l1=l1.next L=L+1 i=0 while i <L-n: i=i+1 l2=l2.next l2.next=l2.next.next return l3.next