ошибка времени выполнения: доступ к члену внутри нулевого указателя - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь решить вопрос «Объединить 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...