1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| 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() }
|