当前位置:   article > 正文

Leetcode: 合并两个有序链表(js)_@param {listnode} list1

@param {listnode} list1

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。


示例 1:

  1. 输入:l1 = [1,2,4], l2 = [1,3,4]
  2. 输出:[1,1,2,3,4,4]

示例 2:

  1. 输入:l1 = [], l2 = []
  2. 输出:[]

示例 3:

  1. 输入:l1 = [], l2 = [0]
  2. 输出:[0]

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1 和 l2 均按 非递减顺序 排列

代码:

1、方法一:递归

  1. /**
  2. * Definition for singly-linked list.
  3. * function ListNode(val, next) {
  4. * this.val = (val===undefined ? 0 : val)
  5. * this.next = (next===undefined ? null : next)
  6. * }
  7. */
  8. /**
  9. * @param {ListNode} list1
  10. * @param {ListNode} list2
  11. * @return {ListNode}
  12. */
  13. var mergeTwoLists = function(list1, list2) {
  14. // 递归实现
  15. // 1.如果list1和list2有一方为空,则返回非空数组
  16. if (list1 == null) { return list2;}
  17. if (list2 == null) { return list1;}
  18. // 2. list1、list2均不为空,判断list1和list2元素大小
  19. if(list1.val < list2.val){
  20. // list1剩余元素与list2继续合并
  21. list1.next = mergeTwoLists(list1.next,list2);
  22. return list1;
  23. } else { // list2剩余元素与list继续合并
  24. list2.next = mergeTwoLists(list2.next,list1);
  25. return list2;
  26. }
  27. };

2、方法二:创建新链表

  1. /**
  2. * Definition for singly-linked list.
  3. * function ListNode(val, next) {
  4. * this.val = (val===undefined ? 0 : val)
  5. * this.next = (next===undefined ? null : next)
  6. * }
  7. */
  8. /**
  9. * @param {ListNode} list1
  10. * @param {ListNode} list2
  11. * @return {ListNode}
  12. */
  13. var mergeTwoLists = function(list1, list2) {
  14. // 创建新链表实现
  15. let list = new ListNode();
  16. let pre = list;
  17. while(list1 != null && list2 != null) {
  18. if(list1.val < list2.val) {
  19. pre.next = list1;
  20. list1 = list1.next;
  21. } else {
  22. pre.next = list2;
  23. list2 = list2.next;
  24. }
  25. pre = pre.next;
  26. }
  27. pre.next = list1 == null ? list2:list1;
  28. return list.next;
  29. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/262573
推荐阅读
相关标签
  

闽ICP备14008679号