代码:
#include <iostream>
#include <vector>
#include <set>
using namespace std;
// 定义链表节点结构体
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}//构造函数ListNode(int x) ,接受一个参数x来初始化val,并初始next变量为nullptr ;
};
// 合并链表函数
ListNode* solve(vector<ListNode*>& a) {
set<int> values; // 用于存储不重复的值
// 遍历链表,将值存入集合
for (ListNode* node : a) {
while (node) {
values.insert(node->val);
node = node->next;
}
}
// 创建新的链表
ListNode* dummy = new ListNode(0);
ListNode* curr = dummy;
// 从集合中取出值创建链表
for (int val : values) {
curr->next = new ListNode(val);
curr = curr->next;
}
return dummy->next;
}
该代码只是实现了题目描述的功能(合并链表的功能),完整代码还需要完成:用户输入创建链表函数、打印链表、主函数等函数
若有错误或改进之处,敬请在评论区指正,不胜感激!
913

被折叠的 条评论
为什么被折叠?



