【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;
        }
    }
相关推荐
你的电影很有趣1 小时前
lesson70:jQuery Ajax完全指南:从基础到4.0新特性及现代替代方案引言:jQuery Ajax的时代价值与演进
javascript·ajax·jquery
2503_928411562 小时前
9.26 数据可视化
前端·javascript·信息可视化·html5
知识分享小能手4 小时前
React学习教程,从入门到精通,React 单元测试:语法知识点及使用方法详解(30)
前端·javascript·vue.js·学习·react.js·单元测试·前端框架
微笑尅乐6 小时前
力扣350.两个数组的交集II
java·算法·leetcode·动态规划
Min;7 小时前
cesium-kit:让 Cesium 开发像写 UI 组件一样简单
javascript·vscode·计算机视觉·3d·几何学·贴图
EveryPossible8 小时前
展示内容框
前端·javascript·css
子兮曰8 小时前
Vue3 生命周期与组件通信深度解析
前端·javascript·vue.js
拉不动的猪8 小时前
回顾关于筛选时的隐式返回和显示返回
前端·javascript·面试
元亓亓亓8 小时前
LeetCode热题100--994. 腐烂的橘子--中等
算法·leetcode·职场和发展
(●—●)橘子……9 小时前
记力扣2516.每种字符至少取k个 练习理解
算法·leetcode·职场和发展