// File: list_node.go // Created Time: 2022-11-25 // Author: Reanon (793584285@qq.com) package pkg // ListNode Definition for a singly-linked list node type ListNode struct { Next *ListNode Val int } // NewListNode Generate a list node with an val func NewListNode(v int) *ListNode { return &ListNode{ Next: nil, Val: v, } } // ArrayToLinkedList Generate a linked list with an array func ArrayToLinkedList(arr []int) *ListNode { // dummy header of linked list dummy := NewListNode(0) node := dummy for _, val := range arr { node.Next = NewListNode(val) node = node.Next } return dummy.Next } // GetListNode Get a list node with specific value from a linked list func GetListNode(node *ListNode, val int) *ListNode { for node != nil && node.Val != val { node = node.Next } return node }