19 刪除鍊錶的倒數第N個節點

2021-10-06 01:30:43 字數 999 閱讀 7252

if(p2==null) return head->next;//如果p2剛好是null,證明n正好是鍊錶的長度,倒數第n個也就是正數第乙個,直接返回head->next

while(p2->next != null)

p1->next = p1->next->next;//此時p1的下乙個節點就是鍊錶倒數第n個節點

return head;}};

python3**:

# definition for singly-linked list.

# class listnode:

# def __init__(self, x):

# self.val = x

# self.next = none

class solution:

def removenthfromend(self, head: listnode, n: int) -> listnode:

p1 = head

p2 = head

while(n>0):

p2 = p2.next

n -= 1

if p2==none:

return head.next

while(p2.next is not none):

p1 = p1.next

p2 = p2.next

p1.next = p1.next.next

return head

19 刪除鍊錶的倒數第N個節點

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?說實話,就我的水平而言感覺這道題坑點還真不少,先來我的乙個粗糙版...

19 刪除鍊錶的倒數第N個節點

給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。示例 給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.說明 給定的 n 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?class solution def removenthfrom...

19 刪除鍊錶的倒數第N個節點

給定乙個鍊錶,刪除鍊錶的倒數第n個節點,並且返回鍊錶的頭結點。給定乙個鍊錶 1 2 3 4 5,和 n 2.當刪除了倒數第二個節點後,鍊錶變為 1 2 3 5.給定的n保證是有效的。首先遍歷得出鍊錶的長度l,然後刪除第l n個節點 definition for singly linked list....