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

【力扣 简单 C】21. 合并两个有序链表

目录

题目

解法一:迭代

解法二:递归


题目

解法一:迭代

struct ListNode* merge(struct ListNode* list1, struct ListNode* list2)
{struct ListNode* virHead = malloc(sizeof(*virHead));struct ListNode* preNode = virHead;while (list1 && list2){if (list1->val < list2->val){preNode->next = list1;list1 = list1->next;}else{preNode->next = list2;list2 = list2->next;}preNode = preNode->next;}preNode->next = list1 ? list1 : list2;struct ListNode* head = virHead->next;free(virHead);return head;
}struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
{return merge(list1, list2);
}

解法二:递归

void swap(struct ListNode** list1, struct ListNode** list2)
{struct ListNode* tmp = *list1;*list1 = *list2;*list2 = tmp;
}struct ListNode* merge(struct ListNode* list1, struct ListNode* list2)
{if (!list1)return list2;if (!list2)return list1;if (list1->val > list2->val)swap(&list1, &list2);list1->next = merge(list1->next, list2);return list1;
}struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
{return merge(list1, list2);
}

http://www.xdnf.cn/news/999415.html

相关文章:

  • Python训练打卡Day48
  • Jenkins 配置gitlab的 pipeline流水线任务
  • 比特币拼图解密工具
  • 利用AlphaFold3和RosettaDesign设计高热稳定工业脂肪酶变体
  • 水库水电站泄洪预警系统综合解决方案
  • NXP S32K146 T-Box 携手 SDNAND(贴片式 TF 卡):驱动汽车智能革新的黄金组合
  • 第七节 工程化与高级特性-装饰器(Decorators)的应用场景
  • 文本的数据分析
  • 过好人生:在清醒与热爱间寻找生命的光
  • Proxy arp(代理 ARP)逻辑图解+实验详解+真机实践验证
  • 基于范围的for循环
  • 【力扣 简单 C】206. 反转链表
  • 基于深度学习的异常检测系统:原理、实现与应用
  • 手机射频功放测试学习(一)——手机线性功放的主要测试指标
  • 落水人员目标检测数据集(猫脸码客第253期)
  • 开源 内存分配器 mimalloc 在 windwos 的编译及使用
  • Unity json解析选择实测
  • xhtml2pdf中文屏幕溢出问题
  • SpringBoot后端开发知识点总结(持续更新)
  • 《棒球万事通》棒球战术介绍·棒球1号位
  • 在rust中执行命令行输出中文乱码解决办法
  • android:foregroundServiceType详解
  • 亚马逊云服务器(AWS)会限制用户使用吗?深度解读AWS资源政策
  • 用idea进行数据同步
  • List ToMap优化优化再优化到极致
  • 成功解决 ValueError: Unable to find resource t64.exe in package pip._vendor.distlib
  • 51la无法统计IP?悟空统计精准IP归属地
  • 模板字符串使用点击事件【VUE3】
  • 使用Ollama+open-webui搭建本地AI模型
  • 榕壹云信用租赁系统:免押金全品类租赁解决方案,区块链+多因子认证赋能