LeetCode刷题笔记 21. 合并两个有序链表

21. 合并两个有序链表

题目要求

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

示例:

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

题解

合并两个有序链表 c++实现两种解法 递归法和迭代法 图示讲解

递归简化版

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
    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;
    }
}
};
发布了18 篇原创文章 · 获赞 0 · 访问量 1809

猜你喜欢

转载自blog.csdn.net/g534441921/article/details/104119538