21. Merge Two Sorted Lists
Total Accepted: 120734
Total Submissions: 342542
Difficulty: Easy
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
Subscribe to see which companies asked this question
Have you met this question in a real interview?
合并两个链表,使用递归
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
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;
}
}
};
本文介绍了一种通过递归方式合并两个已排序链表的方法,最终返回一个新的有序链表。该算法首先检查输入链表是否为空,然后比较两链表头结点的值,较小者作为新链表的头部,并继续递归合并剩余部分。
1472

被折叠的 条评论
为什么被折叠?



