请用c++生成一段代码。将两个递增的有序链表合并为一个递增的有序链表。要求结果链表 仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不 允许有重复的数据
时间: 2023-04-03 14:03:35 浏览: 58
以下是生成的代码:
```c
#include <stdio.h>
struct ListNode {
int val;
struct ListNode *next;
};
struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){
if (l1 == NULL) return l2;
if (l2 == NULL) return l1;
if (l1->val < l2->val) {
l1->next = mergeTwoLists(l1->next, l2);
return l1;
} else {
l2->next = mergeTwoLists(l1, l2->next);
return l2;
}
}
int main() {
// 创建两个有序链表
struct ListNode node1_1 = {1, NULL};
struct ListNode node1_2 = {3, NULL};
struct ListNode node1_3 = {5, NULL};
node1_1.next = &node1_2;
node1_2.next = &node1_3;
struct ListNode node2_1 = {2, NULL};
struct ListNode node2_2 = {4, NULL};
struct ListNode node2_3 = {6, NULL};
node2_1.next = &node2_2;
node2_2.next = &node2_3;
// 合并两个有序链表
struct ListNode* result = mergeTwoLists(&node1_1, &node2_1);
// 输出结果链表
while (result != NULL) {
printf("%d ", result->val);
result = result->next;
}
printf("\n");
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)