释放空间的问题
来源:5-2 测试你的链表程序
算法请爱我emmm
2019-07-28
int main() {
int arr[] = { 1,2,3,4,5 };
int n = sizeof(arr) / sizeof(int);
ListNode* head = creatLinkedList(arr, n);
printLinkedList(head);
ListNode* head2 = Solution().reverseList(head); //(1) 这里是申明了一个指针变量,
//并没有new一个空间?
printLinkedList(head2);
deleteLinkedList(head2); //(2)此处一定要释放吗?
return 0;
}
(2)那里,老师视频说要释放掉空间,但是上面(1)处并没有new(申请)空间,而是申明了一个指针变量而已,这也要释放空间吗?
写回答
1回答
-
liuyubobobo
2019-07-28
head2 是将 head 的链表翻转了。所以 head2 中的节点都是 head 中的节点。
(2) 的位置释放的空间本质是 ListNode* head = creatLinkedList(arr, n); 中开辟的空间。(我们没有释放head)
是否一定释放?
虽然一般上机编程的话,不释放是没问题的,但是如果是笔试或者面试,对于C++语言,最好提一嘴释放空间。
继续加油!:)
00
相似问题