package q148 import "slices" type ListNode struct { Val int Next *ListNode } func sortList(head *ListNode) *ListNode { if head == nil { return nil } arr := []*ListNode{} for head != nil { arr = append(arr, head) head = head.Next } slices.SortFunc(arr, func(a, b *ListNode) int { return a.Val - b.Val }) for i := range arr { if i == len(arr)-1 { arr[i].Next = nil } else { arr[i].Next = arr[i+1] } } return arr[0] } var _ = sortList