代码编织梦想

代码

class Solution {
public:
    ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {
        ListNode* list = new ListNode(-1);
        ListNode* p = list;
        while (pHead1 && pHead2) {
            if (pHead1->val <= pHead2->val) {
                p->next = pHead1;
                pHead1 = pHead1->next;
                p=p->next;
            }else {
                p->next = pHead2;
                pHead2 = pHead2->next;
                p=p->next;
            }
        }
        while (pHead1) {
            p->next = pHead1;
            pHead1 = pHead1->next;
            p=p->next;
        }
        while (pHead2) {
            p->next = pHead2;
            pHead2 = pHead2->next;
            p=p->next;
        }
        return list->next;
    }
};

思路
依次从两边链表中拿一个小的节点即可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45677073/article/details/118813613

剑指 Offer-JZ16-合并两个排序的链表-爱代码爱编程

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 常规题 实现 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ clas

《剑指offer》JZ16合并两个排序的链表-爱代码爱编程

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解析:两个链表的表头依次比较 代码: /* public class ListNode {     int val;     ListNode next = null;     ListNode(int val) {         this.val =

剑指offer-JZ16合并两个排序的链表-爱代码爱编程

时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:805773 本题知识点: 链表 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 代码 递归: /*function ListNode(x){ this.val = x;

剑指offer-JZ16-合并两个排序的链表-爱代码爱编程

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:注意指针为nullptr和指针链接过程中的断开问题 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL)

##剑指offer##JZ16合并两个排序的链表-爱代码爱编程

题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 设置一个res空链表每次对两个链表的头结点的val进行比较,把较小的那个放到res链表中,然后移动头结点当某一个链表遍历结束时,跳出while,然后把另一个链表中剩余的结点一起放在res后面即可 代码 # -*- coding:utf-

【剑指offer刷题】JZ16:合并两个排序的链表-爱代码爱编程

转载请注明出处:https://blog.csdn.net/loiter2/article/details/108300456 【剑指offer刷题】JZ16:合并两个排序的链表 1、题目分析1.1 题目描述与理解1.2 解法分析2、代码实现2.1 归并排序2.2 递归 该文章只是用来记录一下刷题过程,本文的记录和解答用的Java语言。 1、题

剑指offer JZ16 - 合并两个排序的链表 - JavaScript-爱代码爱编程

1、题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。例如: A: 1->3->5->7->9->15 B: 2->4->6->8->13 concat: 1->2->3->4->5->6->7->8-&

剑指Offer JZ16 合并两个排序的链表 C++实现-爱代码爱编程

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 方法一:直接法 1、思路:初始化一个哨兵结点,然后开始遍历两个链表,依次把值小的结点链接到哨兵结点后面。 2、代码: /* struct ListNode { int val; struct ListNode *next; L

剑指offer:JZ16 合并两个排序的链表-爱代码爱编程

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 示例1 输入 {1,3,5},{2,4,6} 返回值 {1,2,3,4,5,6}在线链接代码: public class Solution { public ListNode Merge(ListNode list1,ListNode list

剑指 Offer 25-合并两个排序的链表c++-爱代码爱编程

--------------------------二刷2020/12/25----------------------------------- 这段时间好像确实练习了之后比之前进步了,第一次做的时候中间部分写得有点烂 if(l1 ->val >= l2->val) { tmp -> next = l2;

《剑指Offer》JZ16:合并两个排序的链表(迭代法)-爱代码爱编程

本系列文章为《剑指Offer》刷题笔记。 刷题平台:牛客网思路 先判断输入的链表是否为空的指针。 如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接返回第一个链表。如果两个链表都是空链表,合并的结果是得到一个空链表。若两个链表都是排序好的,我们只需要从头遍历链表,判断当前指针,哪个链表中的值小,即赋给合并链表指针即可。 使用递归就可以

剑指offer JZ16合并两个排序的链表-爱代码爱编程

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路: 首先判断两个链表的头结点的大小,并把小的那个赋值给新建的头结点,然后判断那个头结点赋值给新头结点,将对应的链表进行了指针后移,然后进入循环,每次对比指针指向的节点的值的大小,将小的值赋值给新的链表,并判断两个链表是否进入了尽头,如果是将新链

【剑指Offer】JZ16合并两个排序的链表-爱代码爱编程

题目地址:牛客网题目: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 示例1 输入 {1,3,5},{2,4,6} 返回值 {1,2,3,4,5,6} 思路: 因为原本两个链表就是递增的,所以只要遍历就可以了。 坑点在于,C++新建链表要new开辟空间。 代码: /* stru

剑指Offer.JZ16.合并两个排序的链表-爱代码爱编程

解题思路 将两条链表遍历将小的数加入到新链表中 再把没有遍历完的链表加入到新链表即可 代码 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ publi

剑指Offer——JZ16 合并两个排序的链表-爱代码爱编程

描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则 输入:{1,3,5},{2,4,6} 返回值:{1,2,3,4,5,6} /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x),

【剑指offer】JZ25 合并两个排序的链表-爱代码爱编程

刷题地址 思路递归(目的、结束条件、函数等价关系式)代码(JAVA)public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1 == null) return list2; i

计算机操作系统(二十):文件管理(一)-爱代码爱编程

计算机操作系统(二十):文件管理(一) 来源王道考研系列视频:https://www.bilibili.com/video/BV1YE411D7nH文件属性 文件名标识符类型位置大小创建时间、修改时间、文件所有权保护信息文件的逻辑结构 逻辑结构是指在用户看来,文件内部的数据应该是如何组织起来的。 物理结构是指在操作系统看来,文件的数据是如何存放在外

周赛5994. 查找给定哈希值的子串-爱代码爱编程

题目 给定整数 p 和 m ,一个长度为 k 且下标从 0 开始的字符串 s 的哈希值按照如下函数计算: hash(s, p, m) = (val(s[0]) * p0 + val(s[1]) * p^1 + ... + val(s[k-1]) * p^k-1) mod m. 其中 val(s[i]) 表示 s[i] 在字母表中的下标,从 val(