合并两个有序链表OJ
文章目录
- 合并两个有序链表OJ
- 一、题目及要求
- 二、思路分析
- 三、代码实现
一、题目及要求
二、思路分析
其次,题目里说了新链表是通过拼接原来的结点形成的,所以说我们不需要开辟新的空间。
三、代码实现
if (list1 == NULL)
{return list2;
}if (list2 == NULL)
{return list1;
}struct ListNode* newlist = NULL;
struct ListNode* newhead = newlist;//需要返回头,所以说必须创建一个临时的存储
while (list1 && list2)
{if (list1->val < list2->val){if (newlist == NULL){newhead = newlist = list1;}else{newlist->next = list1;newlist = newlist->next;}list1 = list1->next;}else{if (newlist == NULL){newhead = newlist = list2;}else{newlist->next = list2;newlist = newlist->next;}list2 = list2->next;}
}if (list1)
{newlist->next = list1;
}if (list2)
{newlist->next = list2;//直接接上就行了
}return newhead;