首页 > 其他分享 >合并链表

合并链表

时间:2022-10-06 11:55:31浏览次数:41  
标签:head ListNode 合并 next 链表 l2 l1 NULL

ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
       
        if(l1 == NULL){
            if(l2 == NULL){
                return NULL;
            }else{
                return l2;
            }
        }
        if(l1 != NULL && l2 == NULL){
            return l1;
        }
        ListNode* head=NULL;
        ListNode* ans=head;
        while(l1!=NULL&&l2!=NULL){
            ListNode* curr=NULL;
            if(l1->val < l2->val){
                curr=new ListNode(l1->val);
                l1=l1->next;
            }else{
                curr=new ListNode(l2->val);
                l2=l2->next;
            }
            if(head == NULL){
                head=curr;
                ans=head;
            }else{
                head->next=curr;
                head=head->next;
            }
            
        }
        while(l1!=NULL){
            ListNode* curr=new ListNode(l1->val);
            head->next=curr;
            head=head->next;
            l1=l1->next;
        }
        while(l2!=NULL){
            ListNode* curr=new ListNode(l2->val);
            head->next=curr;
            head=head->next;
            l2=l2->next;
        }
        return ans;
    }

标签:head,ListNode,合并,next,链表,l2,l1,NULL
From: https://www.cnblogs.com/lwx11111/p/16757342.html

相关文章

  • 剑☞offer 两个链表的第一个公共节点
    题目描述:给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。题目数据 保证 整个链式结构中不存......
  • 合并10/5
    #include<stdio.h>#include<stdlib.h>#defineMAXSIZE20typedefstructLNODE{charlist[MAXSIZE];intlistlen;//表的当前长度}*List,L;voidinit(ListPtrl,inta......
  • 力扣138(java)- 复制带随机指针的链表(中等)
    题目:给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由n个......
  • LeetCode 03 - 链表
    707.设计链表设计链表的实现,您可以选择使用单链表或双链表。在链表类中实现这些功能:get(index):获取链表中第index个节点的值。如果索引无效,则返回1。addAtHead(val......
  • 图论专题-学习笔记:树上启发式合并(dsu on tree)
    目录1.前言2.详解3.总结1.前言树上启发式合并(dsuontree),是一种类似于启发式合并的方式解决关于部分子树内问题的算法,一般都是什么子树内颜色个数等等的。前置知识:......
  • 最简单的链表实现
    输入数字并输出的链#include<iostream>#include<stdlib.h>usingnamespacestd;​structNode{intdata;structNode*next;};​intmain(){intnum;cin>......
  • 做题记录整理数据结构1 P6033. [NOIP2004 提高组] 合并果子 加强版(2022/10/3)
    P6033.[NOIP2004提高组]合并果子加强版老题新做型里面最妙的就是用两个队列来代替一个堆,和蚯蚓那道题有异曲同工之妙#include<bits/stdc++.h>#definefor1(i,a,b)......
  • 「CF1455G」Forbidden Value 题解 (DP,线段树合并)
    题目简介已知初始值\(x=0\),给定下面\(2\)种命令:set\(y\)\(v\),令\(x=y\),或花费\(v\)元钱删除该命令;if\(y\)...end,如果\(x==y\),执行if...end中的命令,否则跳......
  • 合并两个list对象集合并排序
    List对象合并后进行排序业务场景用户相关字段数量较多时,会进行分表,用相同的id进行关联,而后进行数据查询时,需要将两张或者多张表的数据进行拼接思路:将其中一个list1转换为map......
  • 合并两个list对象集合并排序
    List对象合并后进行排序业务场景用户相关字段数量较多时,会进行分表,用相同的id进行关联,而后进行数据查询时,需要将两张或者多张表的数据进行拼接思路:将其中一个list1转换为map......