/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func sortList(head *ListNode) *ListNode {
if(head==nil||head.Next==nil){
return head
}
list:=new(ListNode)
slice := []int{}
for head!=nil{
slice=append(slice,head.Val)
head=head.Next
}
sort.Ints(slice)
list.Val=slice[0]
str:=new(ListNode)
str=list
for i:=1;i<len(slice);i++{
arr:=new(ListNode)
arr.Val=slice[i]
list.Next=arr
list=list.Next
}
return str
}
思路
1.先把链表转化成切片
2.用go语言自带的方法对切片进行排序
3.再把切片转化成链表