输出样例如图:
代码如下:
#include<stdio.h>
#include<stdlib.h>
//链表节点结构
typedefstructListNode
{
intval;
structListNode*next;
} ListNode;
// 创建新节点
ListNode* createNode(int val)
{
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
newNode->val = val;
newNode->next = NULL;
return newNode;
}
// 插入节点到链表尾部
void insertTail(ListNode** head, int val)
{
ListNode* newNode = createNode(val);
if (*head == NULL)
{
*head = newNode;
}
else
{
ListNode* temp = *head;
while (temp->next != NULL)
{
temp = temp->next;
}
temp->next = newNode;
}
}
// 释放链表内存
void freeList(ListNode* head)
{
ListNode* temp;
while (head != NULL)
{
temp = head;
head = head->next;
free(temp);
}
}
// 合并两个非递减链表为非递增链表