2022-11-25 20:24:51 +08:00
|
|
|
// File: list_node.go
|
|
|
|
// Created Time: 2022-11-25
|
|
|
|
// Author: Reanon (793584285@qq.com)
|
|
|
|
|
|
|
|
package pkg
|
|
|
|
|
2024-03-31 03:06:41 +08:00
|
|
|
// ListNode 链表节点
|
2022-11-25 20:24:51 +08:00
|
|
|
type ListNode struct {
|
|
|
|
Next *ListNode
|
|
|
|
Val int
|
|
|
|
}
|
|
|
|
|
2024-03-31 03:06:41 +08:00
|
|
|
// NewListNode 链表节点构造函数
|
2022-11-25 20:24:51 +08:00
|
|
|
func NewListNode(v int) *ListNode {
|
|
|
|
return &ListNode{
|
|
|
|
Next: nil,
|
|
|
|
Val: v,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-03-31 03:06:41 +08:00
|
|
|
// ArrayToLinkedList 将数组反序列化为链表
|
2022-11-26 01:17:48 +08:00
|
|
|
func ArrayToLinkedList(arr []int) *ListNode {
|
2022-11-25 20:24:51 +08:00
|
|
|
// dummy header of linked list
|
|
|
|
dummy := NewListNode(0)
|
|
|
|
node := dummy
|
|
|
|
for _, val := range arr {
|
|
|
|
node.Next = NewListNode(val)
|
|
|
|
node = node.Next
|
|
|
|
}
|
|
|
|
return dummy.Next
|
|
|
|
}
|