【leetcode-合并两个有序链表】

迭代法

java 复制代码
  public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode result = new ListNode(0);
        ListNode cur = result;
        while(list1!=null && list2!=null){ 
            //判断list1和list2的大小
            int val1 =list1.val;
            int val2 =list2.val;
            if(val1<val2){
                //取最小的
                ListNode node = new ListNode(val1);
                cur.next=node;
                cur=cur.next;
                list1=list1.next;
            }else if(val1> val2){
                ListNode node = new ListNode(val2);
                cur.next=node;
                cur=cur.next;
                list2=list2.next;
            }else{
                ListNode node1 = new ListNode(val1);
                ListNode node2 = new ListNode(val2);
                cur.next=node1;
                cur=cur.next;
                cur.next=node2;
                cur=cur.next;
                list1=list1.next;
                list2=list2.next;
            }
        }
        //如果list1还有,则直接将list1插入到后面
        while(list1 !=null){
            cur.next=list1;
            cur=cur.next;
            list1=list1.next;
        }
        //同理list2
        while(list2!=null){
            cur.next=list2;
            cur=cur.next;
            list2=list2.next;
        }
        return result.next;
    }

递归法

java 复制代码
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1 == null || l2 == null){
            return l1==null ? l2 : l1;
        }
        if(l1.val <=l2.val){
            l1.next=mergeTwoLists(l1.next,l2);
            return l1;
        }else{
            l2.next=mergeTwoLists(l1,l2.next);
            return l2;
        }
    }
相关推荐
陪我一起学编程34 分钟前
创建Vue项目的不同方式及项目规范化配置
前端·javascript·vue.js·git·elementui·axios·企业规范
Summer不秃2 小时前
uniapp 手写签名组件开发全攻略
前端·javascript·vue.js·微信小程序·小程序·html
coderklaus2 小时前
Base64编码详解
前端·javascript
Vect__2 小时前
链表漫游指南:C++ 指针操作的艺术与实践
数据结构·c++·链表
浮桥2 小时前
vue3 - 组件间的传值
前端·javascript·vue.js
wuzuyu3652 小时前
生成一个竖直放置的div,宽度是350px,上面是标题固定高度50px,下面是自适应高度的div,且有滚动条
前端·javascript·css
野犬寒鸦2 小时前
力扣hot100:搜索二维矩阵与在排序数组中查找元素的第一个和最后一个位置(74,34)
java·数据结构·算法·leetcode·list
GISer_Jinger4 小时前
Trae Solo模式生成一个旅行足迹App
前端·javascript
zhangbao90s4 小时前
Intl API:浏览器原生国际化API入门指南
前端·javascript·html
s3xysteak4 小时前
我要成为vue高手02:数据传递
前端·javascript·vue.js