首页 > 其他分享 >leetcode:合并2个有序链表-easy

leetcode:合并2个有序链表-easy

时间:2023-02-13 23:16:01浏览次数:59  
标签:ptail ListNode list1 next 链表 phead easy leetcode

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

     

    • 输入:l1 = [1,2,4], l2 = [1,3,4]
      输出:[1,1,2,3,4,4]
  • 提示:
    • 两个链表的节点数目范围是 [0, 50]
    • -100 <= Node.val <= 100
    • l1 和 l2 均按 非递减顺序 排列
  • 来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/merge-two-sorted-lists/
  • 解法:
/**
 * 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* phead=new ListNode(); // 创建头结点
        ListNode* ptail=phead;          // 尾指针,指向头结点
        while(list1!=nullptr&&list2!=nullptr)
        {
            if(list1->val<list2->val)
            {
                ptail->next=list1;
                list1=list1->next;
                ptail=ptail->next;
            }
            else
            {
                ptail->next=list2;
                list2=list2->next;
                ptail=ptail->next;
            }
        }
        if(list1!=nullptr)
        {
            ptail->next=list1;
            //ptail=phead->next;
            //delete phead;
            //return retrun ptail;
        }
        if(list2!=nullptr)
        {
            ptail->next=list2;
            //ptail=phead->next;
           // delete phead;
            //return retrun ptail;
        }
        ptail=phead->next;
        delete phead;
        return ptail;
    }
};

 

标签:ptail,ListNode,list1,next,链表,phead,easy,leetcode
From: https://www.cnblogs.com/kxwslmsps/p/17118207.html

相关文章

  • leetcode:求两数之和-easy
    题目:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答......
  • 反转链表
    给你单链表的头节点head,请你反转链表,并返回反转后的链表 输入:head=[1,2,3,4,5]输出:[5,4,3,2,1] tips:链表中节点数的数目范围[0,5000]-5000<=Node.val<......
  • 【栈】LeetCode 394. 字符串解码
    题目链接394.字符串解码思路建立一个数字栈numStack和一个字符串栈stringBuilderStack。遍历字符串s:遇到数字和字符时按照相应规则分别累加进k和result中。......
  • [oeasy]python0082_颜色设置
    更多颜色回忆上次内容上次了解了控制序列背后的故事一切标准都是从无到有的就连负责标准的组织也是从无到有的VT-05奠定了基础颜色黑底绿字隔行扫描但多颜......
  • #yyds干货盘点# LeetCode程序员面试金典:合并排序的数组
    题目:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。编写一个方法,将B合并入A并排序。初始化 A和B的元素数量分别为 m和n。示例:输入:A=[1......
  • EasyDSS私有化部署方案:如何有效整合服务器带宽与性能资源实现高并发?
    1.行业需求随着远程会议、在线教育、在线学习的需求增长,EasyDSS互联网视频云服务在提升跨地域沟通协作效率方面成果显著。特别是政府组织、部队、军校等强安全需求的场景,对......
  • H.265流媒体EasyPlayer播放器添加sei数据导致视频花屏该如何解决?
    EasyPlayer属于TSINGSEE青犀视频研发的性能稳定、播放流畅的H.265视频流媒体播放器,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,支持高清画面秒开、视频播放流畅,具......
  • Linux下使用EasyX库
    Linux下使用EasyX一、EasyX与CLion简介(一)、EasyXEasyX,全名:“EasyXGraphicsLibraryforC++”。由于其采用静态编译,并不依赖任何dll,超低的学习成本,深受许多开发......
  • 【LeetCode字符串#06】KMP巩固练习:重复子串
    重复的子字符串力扣题目链接(opensnewwindow)给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。......
  • LeetCode-83. 删除排序链表中的重复元素(java)
    一、前言:......