专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html
题目描述
合并两个单调递增的单链表
题解报告
解法1:采用尾插法
首先确定一个头结点出来,然后定义两个指针指向单链表表头,依次后移,定义tail指向新链表的表尾。
解法2:递归版
ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {
if(pHead1 == NULL){
return pHead2;
}
if(pHead2 == NULL){
return pHead1;
}
ListNode *head = NULL;
if(pHead1->val < pHead2->val){
head = pHead1;
head->next = Merge(pHead1->next, pHead2);
}else{
head = pHead2;
head->next = Merge(pHead1, pHead2->next);
}
return head;
}