Я пытаюсь решить вопрос «Объединить k отсортированных связанных списков и вернуть его как один отсортированный список» на leetcode
это мой код: -
class Solution {
public:
struct compare
{
bool operator()(Node *l, Node *r)
{
return l->val > r->val;
}
};
ListNode* mergeKLists(vector<ListNode*>& lists)
{
priority_queue<Node*, vector<Node*>, compare> q;
for(auto l: lists)
{
q.push(l);
}
if(q.empty()) return nullptr;
Node *head, *header;
head = q.top();
header = head;
q.pop();
if(head->next) q.push(head->next);
while(!q.empty())
{
head->next = q.top();
q.pop();
cout << head->next->val << endl;
head = head->next;
if(head->next)
{
q.push(head->next);
}
}
return header;
}
};
это ошибка, которую я получаю
Строка 36: Char 18: ошибка времени выполнения: доступ к члену внутри нулевого указателя типа 'ListNode' (решение. cpp) РЕЗЮМЕ: UndefinedBehaviorSanitizer: undefined-поведение prog_joined. cpp: 45: 18