JS 单链表的排序
题目:
给定一个无序单链表,实现单链表的排序(按升序排序)。
输入:[1,3,2,4,5]
输出:{1,2,3,4,5}
把链表拿出来放到一个数组里排好序后再放回链表里。
时间复杂度比较大
function sortInList( head ) {
// write code here
//出口
if(!head || !head.next){
return head;
}
//定义一个新数组
let arr = [];
let node = head;
while(node){
arr.push(node.val);
node = node.next;
}
arr.sort((a,b)=>a-b)
node = head;
for(let item of arr){
node.val = item;
node = node.next;
}
return head;
}
module.exports = {
sortInList : sortInList
};