当前位置: 首页 > news >正文

面试题:合并两个排序的链表

题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

方法1:递归

public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
        if(list1==null){
            return list2;
        }
        if(list2==null){
            return list1;
        }
        if(list1.val<=list2.val){
            list1.next=Merge(list1.next,list2);
            return list1;
        }else{
            list2.next=Merge(list1,list2.next);
            return list2;
        }
    }
}

方法2:循环

public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
        if(list1==null){
            return list2;
        }
        if(list2==null){
            return list1;
        }
        ListNode mergeList=null;
        ListNode current=null;
        while(list1!=null&&list2!=null){
            if(list1.val<=list2.val){
                if(mergeList==null)
                    mergeList=current=list1;
                else{
                    current.next=list1;
                    current=current.next;
                }
                list1=list1.next;
            }else{
                if(mergeList==null)
                    mergeList=current=list2;
                else{
                    current.next=list2;
                    current=current.next;
                }
                list2=list2.next;
            }
        }
        if(list1==null){
            current.next=list2;
        }else{
            current.next=list1;
        }
        return mergeList;
    }
}

 

转载于:https://www.cnblogs.com/Aaron12/p/9526871.html

相关文章:

  • .NET CORE 第一节 创建基本的 asp.net core
  • 3ds Max学习日记(九)
  • 【Linux】time+dd测试硬盘读写速度
  • [洛谷P2801]教主的魔法
  • 共享服务-FTP基础(一)
  • ZYNQ的Linux Linaro系统镜像制作SD卡启动
  • intellij idea 编译 kafka 源码
  • 杂项-Java:Druod Monitor
  • mysql+centos7+主从复制
  • BZOJ1052 [HAOI2007]覆盖问题
  • RabbitMQ消息中介之Python使用
  • Android下的一些命令
  • Xshell连接虚拟机文档教程
  • 2-10 案例4:像素读取写入
  • Python基础之数据类型和变量
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • angular组件开发
  • Centos6.8 使用rpm安装mysql5.7
  • Mysql5.6主从复制
  • Mysql数据库的条件查询语句
  • Vue UI框架库开发介绍
  • Web Storage相关
  • Windows Containers 大冒险: 容器网络
  • 分类模型——Logistics Regression
  • - 概述 - 《设计模式(极简c++版)》
  • 基于webpack 的 vue 多页架构
  • 力扣(LeetCode)22
  • 那些年我们用过的显示性能指标
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 算法之不定期更新(一)(2018-04-12)
  • 消息队列系列二(IOT中消息队列的应用)
  • 小而合理的前端理论:rscss和rsjs
  • 函数计算新功能-----支持C#函数
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (C语言)球球大作战
  • (Git) gitignore基础使用
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二)斐波那契Fabonacci函数
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (三十五)大数据实战——Superset可视化平台搭建
  • (算法)求1到1亿间的质数或素数
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .net 4.0发布后不能正常显示图片问题
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET使用存储过程实现对数据库的增删改查
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [ C++ ] STL---stack与queue
  • [100天算法】-不同路径 III(day 73)
  • [20180224]expdp query 写法问题.txt