最后一个节点设为NULL了为什么还能输出呢
void deleteNode(struct ListNode* node) {
struct ListNode* p = node;
while (p->next!=NULL)
{
p->val = p->next->val;
p = p->next;
}
p=NULL;
}
p=NULL并不能删除最后一个元素,只有把倒数第二个元素的next值改为NULL才行。p只是一个指针,p为NULL只是说p不指向变量。
供参考:
void deleteNode(struct ListNode* node)
{
node->val = node->next->val;
if (node->next->next == NULL)
node->next = NULL;
else
node->next = node->next->next;
}