python 刪除連結串列的倒數第N個節點 LeetCode
阿新 • • 發佈:2018-11-07
給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 說明: 給定的 n 保證是有效的。 進階: 你能嘗試使用一趟掃描實現嗎? 示例程式碼: # 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 """ dumpy = ListNode(0) dumpy.next = head p1 = dumpy p2 = dumpy for i in range(n): p1 = p1.next while p1.next: p1 = p1.next p2 = p2.next p2.next = p2.next.next return dumpy.next