您的位置:首页 > 编程语言 > C语言/C++

【C++】合并两个排序的链表,要求合并后仍然是有序的

2015-09-15 17:44 309 查看
struct ListNode {
int m_nKey;
ListNode m_pNext;
};
ListNode* merge(ListNode* pHead1, ListNode* pHead2) {
if (pHead1 == NULL) {
return pHead2;
}
if(pHead2 == NULL) {
return pHead1;
}

ListNode* mergedList = NULL;
if (pHead1->m_nKey < pHead2->m_nKey) {
mergedList = pHead1;
mergedList->m_pNext = merge(pHead1->m_pNext, pHead2);
}
else {
mergedList = pHead2;
mergedList->m_pNext = merge(pHead2->m_pNext, pHead1);
}

return mergedList;
}
递归解法,测试还是分为一般功能测试和特殊测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: