retnioPmodnaRhtiWtsiLypoC.138

LeetCode 链表复制问题解析
本文针对LeetCode上的一道链表题目进行详细解析,探讨了如何处理空链表情况,初始化指针问题,并通过遍历确定哈希表大小的方法。此外,还介绍了如何解决哈希冲突及内存分配失败等问题。

problem:https://leetcode.com/problems/copy-list-with-random-pointer/

tips:

size = 0的特殊情况考虑。

new_curp一开始是NULL,所以把它作为循环结束标志,永远也不会进入循环。

链表一开始的size可以遍历来求出,这样hash table的size就确定了。

hash冲突的解决:由于保存了两份hash table 所以可以用原链表的random和cur指针相等,来寻找冲突的地址。

将RandomListNode的地址作为hash参数,用long int强制转换。。。太小的类型会提示丢失精度。

从来没有考虑 new 分配失败的情况。(算法设计中默认不会失败,平时编程需要考虑)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值