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.
如题,题意大致为将两个排好序的列表重新放入一个排好序的新列表中,新列表必须有两个列表的节点组成。
通过比较两个列表中每个节点的值的大小,采用递归思想,值较小则鸡血
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
//递归排序
if(l1 == NULL) return l2;
if(l2 == NULL) return l1;
ListNode *temp = NULL;
if(l1->val < l2->val)
{
temp = l1;
temp->next = mergeTwoLists(l1->next,l2);
}
else
{
temp = l2;
temp->next = mergeTwoLists(l1,l2->next);
}
return temp;
}
};