首页 > 其他分享 >【leetcode】21. Merge Two Sorted Lists

【leetcode】21. Merge Two Sorted Lists

时间:2023-06-07 19:44:38浏览次数:32  
标签:head ListNode 21 nullptr list1 Two Lists next list2

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

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:[]

示例 3:

输入:l1 = [], l2 = [0]
输出:[0]

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列

 

题解1

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        ListNode* dummy = new ListNode(-1);
        auto head = dummy;
        while (list1 != nullptr && list2 != nullptr) {
            if (list1->val < list2->val) {
                head->next = list1;
                list1 = list1->next;
            } else {
                head->next = list2;
                list2 = list2->next;
            }

            head = head->next;
        }

        if (list1 != nullptr) {
            head->next = list1;
        }

        if (list2 != nullptr) {
            head->next = list2;
        }

        return dummy->next;
    }
};

只要设置一个dummy节点,剩下的就是简单的体力活了

标签:head,ListNode,21,nullptr,list1,Two,Lists,next,list2
From: https://www.cnblogs.com/abc-begin/p/17464373.html

相关文章

  • 2021-05-18:金朝阳上课课堂
     ......
  • BLINNET - Bytelandian Blingors Network
    传送门:BLINNET-BytelandianBlingorsNetwork通过读题,不难发现,把这些点连接起来的最小成本,岂不是最小生成树?现在先思考一下给出的城市名字需要如何处理?其实直接按照输入顺序标号就好了!跑一遍最小生成树即可,注意多测清空。处理最小生成树的策略是,把边按照成本从小到大排序,每......
  • Learning to Pre-train Graph Neural Networks 学习如何预训练GNN
    ......
  • 215. 数组中的第K个最大元素
    给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。 示例1:输入:[3,2,1,5,6,4],k=2输出:5示例 2:输入:[3,2,3,1,2,4,5,5......
  • k8s中设置hostNetwork: true,怎么修改冲突的端口,yaml使用的是DaemonSet
    apiVersion:apps/v1kind:DaemonSetmetadata:name:cadvisornamespace:monitoringspec:selector:matchLabels:app:cAdvisortemplate:metadata:labels:app:cAdvisorspec:tolerations:#污点容忍,忽略master的......
  • 算法学习day48动态规划part09-377、213、198
    packageLeetCode.DPpart09;/***377.组合总和Ⅳ*给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。*题目数据保证答案符合32位整数范围。*示例:*输入:nums=[1,2,3],target=4*输......
  • [LeetCode] 1347. Minimum Number of Steps to Make Two Strings Anagram 制造字母异
    Youaregiventwostringsofthesamelength s and t.Inonestepyoucanchoose anycharacter of t andreplaceitwith anothercharacter.Return theminimumnumberofsteps tomake t ananagramof s.An Anagram ofastringisastringthatco......
  • GYM100212B - I Just Called...
    大模拟。首先的难度在于理解题意:打电话的地点分为镇、地区、超级地区三级。其中,一些地区是被网络连接的。电话号码的前缀由地区号+镇号组成。它们可以是不等长的,但是整个电话号码的长度是\(d\)。一个镇可能有多个镇号,不同地区的镇可以拥有相同的镇号,但地区号是唯一的。同时......
  • 考研数学⭐每天几道题:偏微分和全微分(2023年5月21日)
    1️⃣用偏微分的定义计算全微分的特值问题(一)2️⃣用偏微分的定义计算全微分的特值问题(二)3️⃣由全微分反向积分求解原函数4️⃣对于有特值的题目一定要及时代入特值进行化简5️⃣对隐函数计算全微分6️⃣复合函数和隐函数联合求偏导:能代入的值先代入关注荒原之梦⭐考研数学的博客......
  • CMakeLists.txt 编写模板
     新建文件  CMakeLists.txt #设置cmake的最低版本cmake_minimum_required(VERSION2.8)#指定为C++11版本set(CMAKE_CXX_STANDARD11)#设置工程名称project(wss)message(${PROJECT_SOURCE_DIR})set(SRC_LIST${PROJECT_SOURCE_DIR}/src/websocket_s......