題目.
middle意思
思想就是用兩個指標,它們之間的間隔為n,注意剛好刪除頭結點的情況
package main
import
("fmt"
)type listnode struct
func
printlist
(root *listnode)
} fmt.
println
("....")}
func
removenthfromend
(head *listnode, n int
)*listnode
if first ==
nil tail := head
for first.next !=
nil tail.next = tail.next.next
return head
}func
main()
,},}
,},}
printlist
(root)
//printlist(removenthfromend(root, 1))
//printlist(removenthfromend(root, 2))
printlist
(removenthfromend
(root,5)
)}
o(n)
o(1)
執行用時 :0 ms, 在所有 go 提交中擊敗了100.00%的使用者
記憶體消耗 :2.2 mb, 在所有 go 提交中擊敗了98.45%的使用者
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....