不多 BB,直接上代码,有关链表定义,请自行百度
package main
import "fmt"
type ListNode struct {
Val interface{}
Next *ListNode
}
// 初始化
func New() *ListNode {
return &ListNode{nil, nil}
}
// 遍历输出
func (head *ListNode) Traverse() {
point := head
fmt.Println("--------start----------")
for nil != point {
fmt.Println(point.Val)
point = point.Next
}
fmt.Println("--------end----------")
}
// 插入
func (head *ListNode) Insert(val int) {
p := head
for p.Next != nil {
p = p.Next // 位移至尾节点
}
s := &ListNode{Val: val}
p.Next = s
if p.Val == nil { // 插入时发现首节点为空时前移
p.Val = p.Next.Val
p.Next = p.Next.Next
}
}
func main() {
linkedList := New()
linkedList.Insert(1)
linkedList.Insert(2)
linkedList.Traverse()
// --------start----------
// 1
// 2
// --------end----------
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于