首页 > 解决方案 > 为什么我在尝试添加两个链接列表时遇到此错误?

问题描述

我正在尝试解决一个关于链表的实际编码问题,我应该在每个节点中添加值以形成一个新的链表。但是我收到了这个错误:Line 13: Char 20: runtime error: member access within null pointer of type 'struct ListNode' (solution.cpp)

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode* nodes;
        nodes->val = l1->val + l2->val;

        nodes->next->val = l1->next->val + l2->next->val;
        nodes->next->next->val = l1->next->next->val + l2->next->next->val;

        return nodes;
    }
};

标签: c++linked-listnodes

解决方案


您必须首先为您的nodes变量分配内存。

ListNode* nodes = new ListNode();

但是,如果您不再使用该变量,请不要忘记删除它,否则您会出现内存泄漏。


推荐阅读