LeetCode 的 C++ 实现(九)合并两个有序链表

编程入门 行业动态 更新时间:2024-10-23 23:21:42

LeetCode 的 C++ 实现(九)合并两个有序<a href=https://www.elefans.com/category/jswz/34/1769662.html style=链表"/>

LeetCode 的 C++ 实现(九)合并两个有序链表

题目

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

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

非递归

ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {ListNode* Dummy = new ListNode(-1);ListNode* head = Dummy;while (l1 != NULL && l2 != NULL) {if (l1->val <= l2->val) {head->next = l1;l1 = l1->next;} else {head->next = l2;l2 = l2->next;}head = head->next;}head->next = (l1 == NULL ? l2 : l1);return Dummy->next;}

递归

    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {if(l1 == NULL && l2 ==NULL)return NULL;if(l1 == NULL)return l2;if(l2 == NULL)return l1;if(l1->val <= l2->val){l1->next = mergeTwoLists(l1->next ,l2);return l1;}else{l2->next = mergeTwoLists(l1 ,l2->next);return l2;}}

更多推荐

LeetCode 的 C++ 实现(九)合并两个有序链表

本文发布于:2024-02-12 16:01:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1688458.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链表   两个   LeetCode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!