在 deleteAtIndex 方法中,需要删除指定位置的节点后释放内存。修改代码如下:
void deleteAtIndex(int index) {
if (index >= _size || index < 0) return;
ListNode* cur = _dummy;
while (index--) {
cur = cur->next;
}
ListNode* toDelete = cur->next;
cur->next = cur->next->next;
delete toDelete; // 释放删除的节点的内存
_size--;
}
这样,在删除节点后会释放掉该节点所占用的堆内存。
内容由零声教学AI助手提供,问题来源于学员提问




