合并递增链表
构造两个以整型数字为值的链表,其中的值是单调递增的。 将两个链表合并,保持递增。 要求空间复杂度 O(1)
function ListNode(val) { this.val = val; this.next = null; } function mergeTwoLists(l1, l2) { if (!l1) return l2; if (!l2) return l1; let dummy = new ListNode(-1); let curr = dummy; while (l1 && l2) { if (l1.val <= l2.val) { curr.next = l1; l1 = l1.next; } else { curr.next = l2; l2 = l2.next; } curr = curr.next; } curr.next = l1 ? l1 : l2; return dummy.next; } // Example usage: let l1 = new ListNode(1); l1.next = new ListNode(3); l1.next.next = new ListNode(5); let l2 = new ListNode(2); l2.next = new ListNode(4); l2.next.next = new ListNode(6); let merged = mergeTwoLists(l1, l2); while (merged) { console.log(merged.val); merged = merged.next; } // Out
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论