¿Cómo puedo ejecutar los programas de lista enlazada en la máquina local? Cuando ejecuto este código en su cuadro de entrada, se está ejecutando, pero parece que no puedo ejecutar este programa en la máquina local.
function ListNode(val, next) { this.val = (val===undefined ? 0 : val) this.next = (next===undefined ? null : next) } /** * @param {ListNode} list1 * @param {ListNode} list2 * @return {ListNode} */ var mergeTwoLists = function (l1, l2) { var mergedHead = { val: -1, next: null }, crt = mergedHead; while (l1 && l2) { if (l1.val > l2.val) { crt.next = l2; l2 = l2.next; } else { crt.next = l1; l1 = l1.next; } crt = crt.next; } crt.next = l1 || l2; return mergedHead.next; }; mergeTwoLists([1, 2, 4], [1, 3, 4]);Puede usar estas dos funciones auxiliares para convertir una matriz en una lista vinculada y viceversa, que es esencialmente lo que el marco LeetCode hace por usted detrás de escena.
const listFromArray = a => a.length ? new ListNode(a[0], listFromArray(a.slice(1))) : null; const arrayFromList = head => head ? [head.val].concat(arrayFromList(head.next)) : [];En tu caso puedes usarlos así:
const result = arrayFromList( mergeTwoLists(listFromArray([1, 2, 4]), listFromArray([1, 3, 4])) );