148.go 620 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. /**
  3. * Definition for singly-linked list.
  4. * type ListNode struct {
  5. * Val int
  6. * Next *ListNode
  7. * }
  8. */
  9. func sortList(head *ListNode) *ListNode {
  10. return nil
  11. }
  12. func mergeSort() {
  13. }
  14. func mergeList(l1, l2 *ListNode) *ListNode {
  15. dummy := &ListNode{}
  16. prev := dummy
  17. for l1 != nil && l2 != nil {
  18. if l1.Val < l2.Val {
  19. prev.Next = l1
  20. l1 = l1.Next
  21. } else {
  22. prev.Next = l2
  23. l2 = l2.Next
  24. }
  25. prev = prev.Next
  26. }
  27. if l1 != nil {
  28. prev.Next = l1
  29. } else {
  30. prev.Next = l2
  31. }
  32. return dummy.Next
  33. }
  34. func main() {
  35. l1 := toLinkedList([]int{
  36. 3, 52, 6, 8, 4})
  37. printList(sortList(l1))
  38. }