本文主要是介绍Go语言构建单链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
package mainimport "fmt"type ListNode struct {Val intNext *ListNode
}
func main() {list := []int{2,4,3}head := &ListNode{Val:list[0]}tail := head //需要头尾两个指针for i:=1;i<len(list);i++ {//方法一 数组直接构建链表tail.Next = &ListNode{Val:list[i]} //tail.Next => (*tail).Next golang的隐式转换tail = tail.Next//head.Append(list[i]) //方法二 追加构建链表}head.Show()
}
func (h *ListNode) Append(i int) {for h.Next != nil {h = h.Next}h.Next = &ListNode{Val:i}
}
func (h *ListNode) Show() {fmt.Println(h.Val)for h.Next != nil {h = h.Nextfmt.Println(h.Val)}
}
示例不够严谨,仅供参考思路
这篇关于Go语言构建单链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!