合并两个有序链表,合并后依然有序
注意:链表功能大家自己添加,本题只做调用
struct ListNode* Merge(struct ListNode* pHead1, struct ListNode* pHead2 ) {
// write code here
if(NULL == pHead1) return pHead2;
if(NULL == pHead2) return pHead1;
struct ListNode* vhead = (struct ListNode*)malloc(sizeof(struct ListNode));
vhead->val = 0;
struct ListNode* p = vhead;
while(pHead1 && pHead2)
{
if(pHead1->val <= pHead2->val)
{
p->next = pHead1;
pHead1 = pHead1->next;
}
else
{
p->next = pHead2;
pHead2 = pHead2->next;
}
p = p->next;
}
p->next = pHead1?pHead1:pHead2;
return vhead->next;
}