题解 | #单链表的排序#
单链表的排序
http://www.nowcoder.com/practice/f23604257af94d939848729b1a5cda08
把链表转换为数组
将数组排序
把数组转换为链表
public class Solution {
public ListNode sortInList (ListNode head) {
if(head.next==null) return head;
ListNode h1=head;
ArrayList<Integer> tar=linkListToIntArray(head);
int i=tar.size();
while(--i>=0){
head.val=tar.get(i);
head=head.next;
}
return h1;
}
public ArrayList<Integer> linkListToIntArray(ListNode head){
ArrayList<Integer> res=new ArrayList<Integer>();
while(head!=null){
res.add(head.val);
head=head.next;
}
res.sort(Comparator.reverseOrder());
return res;
}
}