解释:
融合两个排好序的单链表,融合后的单链表仍然有序。
注意事项:
开始时,单链表需要初始化。
在遍历前需要记录初始位置,最后向后移动一个,忽略初始化时候的0;
class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
if(l1 == NULL && l2 == NULL)
return NULL;
ListNode *result = new ListNode(0);
ListNode *p;
p = result;
while(l1 && l2)
{
if(l1->val <= l2->val)
{
result->next = new ListNode(l1->val);
l1 = l1->next;
}
else
{
result->next = new ListNode(l2->val);
l2 = l2->next;
}
result = result->next;
}
if(l1)
result->next = l1;
if(l2)
result->next = l2;
p = p->next;
return p;
}
};