var sortList = function (head) {    if (!head || !head.next)  return head;    let slow = head, fast = head;    let preSlow = null;    while (fast && fast.next) {        preSlow = slow;        slow = slow.next;        fast = fast.next.next;    }    preSlow.next = null;    const l = sortList(head);    const r = sortList(slow);    return merge(l, r);};function merge(l1, l2) {    const dummy = new ListNode(0);    let prev = dummy;    while (l1 && l2) {        if (l1.val < l2.val) {            prev.next = l1;            l1 = l1.next;        } else {            prev.next = l2;            l2 = l2.next;        }        prev = prev.next;    }    if (l1) prev.next = l1;    if (l2) prev.next = l2;    return dummy.next;}