type node struct {
Num int
NextNode *node
}
func (l *node) Next() bool {
if l.NextNode == nil {
return false
}
return true
}
// 头结点插入
func headInsert(l *node) {
tmp := l
var newLink = new(node)
newLink.Num = l.Num
for tmp.Next() {
newLink = &node{
Num: tmp.NextNode.Num,
NextNode: newLink,
}
tmp = tmp.NextNode
}
*l = *newLink
}
// 就地翻转
func reversal(h, n *node) *node {
if n.NextNode == nil {
n.NextNode = h
return n
}
tmp := n.NextNode
n.NextNode = h
return reversal(n, tmp)
}
单链表反转golang
最新推荐文章于 2024-03-19 13:13:11 发布