题目链接:合并两个排序的链表_牛客题霸_牛客网 (nowcoder.com)
参考链接:题解
思路:使用链表的性质,通过merge函数
merge:将两个有序序列合并成一个新的序列,并对新的序列排序
注意:排序规则必须和原序列规则相同。存储时下标从0开始。
函数参数:merge(first1,last1,first2,last2,result,compare);
class Solution {
public:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {
if (!pHead1)
return pHead2;
if(!pHead2)
return pHead1;//如果链表1或者2是空链表,则返回另一个值
if (pHead1 ->val < pHead2 ->val)
{
pHead1->next = Merge(pHead1->next,pHead2);//使1的下一节点和2的节点按照顺序融入
return pHead1;
}
else
{
pHead2->next = Merge(pHead2->next,pHead1);//使1的下一节点和2的节点按照顺序融入
return pHead2;
}
}
};