当通过链表移动并创建一个临时指针来移动它时,我们是否必须删除 tmp 指针或者它会自动删除。我理解分配新内存,使用 new 运算符我们需要删除为指针分配的内存,然后将指针设置为空,但如果我们只有一个指针,即
Node*follow=head; //where head is a pointer to a linked list
最后我们需要删除关注吗?即使它没有分配新内存我只是用它来移动列表?
int countNum (Node *head, int key)
{
int count=0;
if (head == nullptr)
return 0;
Node *follow=head;
while (follow != nullptr)
{
if(follow->val == key)
count++;
follow=follow->next;
}
cout << count;
return count;
}
int main()
{
Node *head = (1,cons(2,cons(2,(cons(4,(cons(5,nullptr)))))));
int counts=0;
counts= countNum(head,2);
cout<< counts<< head;
return 0;
}
我试图遵守这一点,但它崩溃并说 int counts=0; 是线程断点吗?并且我的 Node*head=(1,cons(2,cons(2,(cons(4,(cons(5,nullptr))))))); 正在使用中。。