力扣https://leetcode-cn.com/problems/merge-two-sorted-lists/submissions/做这道题目的时候,定义了ListNode指针p,但是没有分配内存,直接初始化,运行时报错。
Line 14: Char 11: runtime error: member access within null pointer of type 'struct ListNode' [solution.c]。分配内存后问题解决。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
struct ListNode *ans;
struct ListNode* p = (struct ListNode*) malloc(sizeof(struct ListNode));
p->val=0;
p->next=NULL;
ans=p;
if(list1==NULL)return list2;
if(list2==NULL)return list1;
while(list1 && list2){
if(list1->val<list2->val){
p->next=list1;
list1=list1->next;
}
else{
p->next=list2;
list2=list2->next;
}
p=p->next;
}
if(list1)p->next=list1;
else{p->next=list2;}
return ans->next;
}