- 实例要求:
- 将
两个升序链表
合并为一个新的 升序
链表并返回; 新链表
是通过拼接
给定的两个链表的所有节点
组成的;- 实例分析:
- 先拼接两个链表,在使用冒泡排序即可;
- 示例代码:
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
{
if(NULL == list1 )
{
return list2;
}
if(NULL == list2)
{
return list1;
}
struct ListNode *p = list1;
while(p->next != NULL)
{
p = p->next;
}
p->next = list2;
struct ListNode *q = NULL;
int temp = 0;
p = list1;
while(NULL != p->next)
{
q = p->next;
while(NULL != q)
{
if(p->val > q->val)
{
temp = p->val;
p->val = q->val;
q->val = temp;
}
q = q->next;
}
p = p->next;
}
return list1;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 运行结果: