給定乙個鍊錶,刪除鍊錶的倒數第n
個節點,並且返回鍊錶的頭結點。
給定乙個鍊錶: 1->2->3->4->5, 和 n = 2.
當刪除了倒數第二個節點後,鍊錶變為 1->2->3->5.
給定的n
保證是有效的。
首先遍歷得出鍊錶的長度l
,然後刪除第l - n
個節點
# 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:
l =0 ans = listnode(0)
ans.
next
= head
first = head
while first:
l +=
1 first = first.
next
l -= n
first = ans
while l:
l -=
1 first = first.
next
first.
next
= first.
next
.next
return ans.
next
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 保證是有效的。高階 你能嘗試使用一趟掃瞄實現嗎?解題思路 這是一道簡單題。高階要求使用一趟掃瞄實現,雙...