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

经典双指针--合并升序链表

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>typedef struct Node {int data;struct Node* next;
} Node;Node* newNode(int data);/* 请完成下面的函数 */
Node* mergeList(Node* L1, Node* L2) {Node* head = newNode(-1);Node* last = head;Node* p = L1 -> next, *q = L2->next;while(p!=NULL && q!=NULL){if(p->data < q->data){last -> next = newNode(p->data);p = p->next;}else{last -> next = newNode(q->data);q = q->next;}last = last->next;}while (p!=NULL){last -> next = newNode(p->data);p = p->next;last = last->next;}while (q!=NULL){last -> next = newNode(q->data);q = q->next;last = last->next;}return head;}Node* newNode(int data) {Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = NULL;return node;
}int main() {int n, m, data;scanf("%d %d", &n, &m);Node* L1 = newNode(-1);Node* last1 = L1;for (int i = 0; i < n; i++) {scanf("%d", &data);last1 -> next = newNode(data);last1 = last1 -> next;}Node* L2 = newNode(-1);Node* last2 = L2;for (int i = 0; i < m; i++) {scanf("%d", &data);last2 -> next = newNode(data);last2 = last2 -> next;}Node* merged = mergeList(L1, L2);Node* p = merged -> next;while (p != NULL) {printf("%d", p -> data);if (p -> next != NULL) {printf(" ");}p = p -> next;}printf("\n");return 0;
}

http://www.mrgr.cn/news/68871.html

相关文章:

  • 直播美颜SDK开发指南:实时美颜技术的架构与优化策略
  • ElasticSearch 添加IK分词器
  • Java 开发中的 9 个异常处理的避坑技巧:实战案例解析
  • 高边坡安全监测系统的工作原理和应用领域
  • 检索增强和知识冲突学习笔记
  • IT部门如何平衡业务需求与公司战略,IT的目标到底是让谁满意?
  • Linux基础
  • 闯关leetcode——3194. Minimum Average of Smallest and Largest Elements
  • c++17文件系统
  • 什么是 eCPRI,它对 5G 和 Open RAN 有何贡献?
  • 计算机毕业设计Python流量检测可视化 DDos攻击流量检测与可视化分析 SDN web渗透测试系统 网络安全 信息安全 大数据毕业设计
  • PyQt入门指南四十六 性能优化策略
  • Day 56 || 99.岛屿数量、100.岛屿的最大面积
  • 【鉴权】深入了解 Cookie:Web 开发中的客户端存储小数据
  • 计算机毕业设计Python+Neo4j中华古诗词可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析 PyTorch Tensorflow LSTM
  • RK3568平台开发系列讲解(设备树篇)设备树中CPU描述
  • //二维数组的遍历方式
  • pandas习题 054:将两个 DataFrame 导出到 Excel 的不同表
  • 【系统集成项目管理工程师】英语词汇对照表-项目管理类
  • Kubernetes 调度器调度策略的资源分配不均问题如何解决?
  • stm8开发笔记--STVD开发软件的安装
  • 针对oneplus6 怎么选择lineage源码的什么分支
  • vue3中配置svg图标
  • 公开仓库改私有再配置公钥后Git拉取仍需要输入用户名的问题
  • 【Linux】一篇文章轻松搞懂基本指令
  • 大牛直播SDK如何实现Android平台多路RTSP播放?