链表翻转的javascript代码
//定义一个链表节点类 class ListNode { constructor(val) { this.val = val; this.next = null; } }
//定义翻转链表函数 function reverseList(head) { let prev = null; let curr = head; while (curr !== null) { let nextTemp = curr.next; curr.next = prev; prev = curr; curr = nextTemp; } return prev; }
//测试代码 let head = new ListNode(1); head.next = new ListNode(2); head.next.next = new ListNode(3); head.next.next.next = new ListNode(4); head.next.next.next.next = new ListNode(5);
console.log("原链表:"); let curr = head; while (curr !== null) { console.log(curr.val); curr = curr.next; }
let newHead = reverseList(head);
console.log("翻转后的链表:"); curr = newHead; while (curr !== null) { console.log(curr.val); curr = curr.next; }
原文地址: https://www.cveoy.top/t/topic/rYT 著作权归作者所有。请勿转载和采集!