lc-go/solutions/1/q148/solution.go

33 lines
551 B
Go

// Package q148 implements a solution for https://leetcode.com/problems/sort-list/
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