/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var sortList = function(head) {
// 如果head是个空数组则直接返回null
if(!head) return null;
// 用来存储链表值组成的数组
let arr= []
let p =head
// 将链表的值全部压入数组arr中
while(p!=null){
arr.push(p.val)
p=p.next
}
// 将数组按升序排列
arr.sort((a,b)=>a-b)
p=head
// 将arr数组中的值按顺序覆盖掉链表原来的val值
for(let i =0;i<arr.length;i++){
p.val = arr[i]
p=p.next
}
// 返回更改好的链表
return head
};
Leecode 剑指 Offer II 077. 链表排序
最新推荐文章于 2022-09-08 12:00:25 发布