将链表中的数值转换为数组,使用java自带的排序Arrays.sort
然后再将排序好的数组转换为链表
提交代码
class Solution {
public ListNode sortList(ListNode head) {
int len=0;
ListNode p=head;
while(p!=null) {
len+=1;
p=p.next;
}
int[] nums=new int[len];
int i=0;
for(p=head;p!=null;p=p.next)
nums[i++]=p.val;
Arrays.sort(nums);
ListNode dummyHead=new ListNode(-1);
p=dummyHead;
for(i=0;i<len;i++) {
ListNode newNode=new ListNode(nums[i]);
p.next=newNode;
p=newNode;
}
p.next=null;
return dummyHead.next;
}
}