【发布时间】:2013-12-30 05:59:19
【问题描述】:
我正在尝试对列表实现 delete() 方法(无 HEAD ref)
我发现可以将参数修改为结构体。
func (l *LinkedList) Delete(n *Node) {
if n.next == nil {
n = nil
} else {
current := &n
*n = *n.next
*current = nil
}
}
“else”部分工作正常,但删除最后一个节点不会修改列表
尝试使用
*n = nil
然后我有编译错误。
不能在赋值中使用 nil 作为类型节点
在这个操场上完成代码:
【问题讨论】:
-
不确定这是否相关,但您查看过内置列表吗? golang.org/pkg/container/list
-
是的,这更像是如何实现特定的删除案例。谢谢