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

Leetcode 21:合并两个有序链表

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

例:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
public class title21 {
    public static void main(String[] args) {

        int[] l1={1,2,4};
        int[] l2={1,3,4};
        ListNode list1=createList(l1);
        ListNode list2=createList(l2);

        printList(list1);
        printList(list2);

        ListNode list3=mergeTwoLists(list1,list2);
        printList(list3);

    }



    //1.创建链表
    public static ListNode createList(int[] nums){
        ListNode head=new ListNode();   //头节点
        ListNode preNode = head;
        for(int i=0;i<nums.length;i++){
            ListNode node=new ListNode(nums[i]);    //创建一个新结点
            preNode.next=node;
            preNode=node;
        }
        return head;
    }


    //2.遍历链表
    public static ListNode printList(ListNode head) {
        ListNode node = head.next;   //从头节点的下一节点开始遍历
        while (node != null) {
            System.out.print(node.val + "\t");
            node = node.next;
        }
        System.out.println();
        return head;
    }


    //3.合并两个升序链表
    public static ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode node=new ListNode(-1);
        ListNode preNode=node;
        while (list1 != null && list2 !=null ){
            if(list1.val<list2.val){
                preNode.next=list1;
                list1=list1.next;

            }else {
                preNode.next=list2;
                list2=list2.next;

            }
            preNode=preNode.next;
        }
        if(list1==null){
            preNode.next=list2;
        }
        if(list2==null){
            preNode.next=list1;
        }
        return node.next;
    }
}


http://www.kler.cn/a/231336.html

相关文章:

  • 2024华为java面经
  • 时代变迁对传统机器人等方向课程的巨大撕裂
  • JAVA中CountDownLatch使用方法
  • Jmeter的后置处理器(二)
  • 小鹏汽车嵌入式面试题及参考答案
  • 从零开始创建一个 Vue3+Vite+TS+Eslint项目
  • 算法学习——LeetCode力扣链表篇1
  • AWS配置内网EC2服务器上网【图形化配置】
  • jsPDF+html2canvas实现html转pdf下载+打印
  • npm_config_xxx
  • 信息隐藏研究新动向
  • 使用easyExcel 定义表头 字体 格式 颜色等,定义表内容,合计
  • 标注工具体积3D数据集
  • 力扣题目训练(7)
  • 2024.2.7
  • kafka 文件存储机制
  • ComfyUI 学习笔记
  • 如何部署基于 Pyramid 的 Python WSGI Web 应用程序
  • C++ std::map 取值方式
  • 网站被攻击有什么办法呢?
  • IP数据云识别真实IP与虚假流量案例
  • 计网——运输层、端口号
  • Elasticsearch中Document Routing特性
  • Vue3.0(四):Composition API的使用
  • vue3的pinia基本用法
  • dynamic_cast运行阶段类型识别