diff --git a/golang/2202/220224.go b/golang/2202/220224.go new file mode 100644 index 0000000..ec73159 --- /dev/null +++ b/golang/2202/220224.go @@ -0,0 +1,39 @@ +package main + +import "sort" + +/** + * Definition for singly-linked list. + */ + +type ListNode struct { + Val int + Next *ListNode +} + +func sortList(head *ListNode) *ListNode { + if head == nil { + return nil + } + + arr := make([]*ListNode, 0) + for ptr := head; ptr != nil; ptr = ptr.Next { + arr = append(arr, ptr) + } + + sort.Slice(arr, func(i, j int) bool { + return arr[i].Val < arr[j].Val + }) + + n := len(arr) + arr[n-1].Next = nil + for i := 0; i < n-1; i++ { + arr[i].Next = arr[1+i] + } + + return arr[0] +} + +func main() { + +}