package main /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func sortList(head *ListNode) *ListNode { return nil } func mergeSort() { } func mergeList(l1, l2 *ListNode) *ListNode { dummy := &ListNode{} prev := dummy for l1 != nil && l2 != nil { if l1.Val < l2.Val { prev.Next = l1 l1 = l1.Next } else { prev.Next = l2 l2 = l2.Next } prev = prev.Next } if l1 != nil { prev.Next = l1 } else { prev.Next = l2 } return dummy.Next } func main() { l1 := toLinkedList([]int{ 3, 52, 6, 8, 4}) printList(sortList(l1)) }