一个经典链表题引发的疑问。

今天复习O(1)时间删除一个链表节点的题目,有个疑问:

假如说删除的节点为node* Del,那么在删除时有的人写成:delete Del;Del=nullptr; 还有一种是直接写成:Del=nullptr;

那么到底要不要deleteDel?我认为是要的,毕竟有val值存在的,可如果不delete,那是不是没问题,原来的节点就游离在内存中了?
#笔试题目##面经##题解#
全部评论
你不delete就存在内存泄露问题,工作中这么写要被骂死
点赞 回复
分享
发布于 2019-08-28 21:25
delete是释放堆区内存,赋值为nullptr是防止指针悬空
点赞 回复
分享
发布于 2019-08-28 21:26
滴滴
校招火热招聘中
官网直投
你new了,你就要写delete。leetcode不写delete确实没问题,因为内存泄漏不影响结果。但是你面试手撕算法不写delete,那面试官就可以认为你不懂这方面。
点赞 回复
分享
发布于 2019-08-28 21:45
这是用C++但是完全不懂delete到底在干嘛啊……
点赞 回复
分享
发布于 2019-08-28 21:24
内存泄露有什么问题?
点赞 回复
分享
发布于 2019-08-28 21:24
就leetcode那点代码写delete没啥用,进程结束了就会回收heap区的空间,用不着delete。
点赞 回复
分享
发布于 2019-08-28 21:30

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务