LeetCode-复制带随机指针的链表

这道题自己由于不了解链表的结构,因此不知道怎么做。看了官方的三种解答方法,虽然看懂了,但是无奈自己不会写代码。看了别人C++代码自己复现了一下。不得不说,大佬们的思维是真的优秀。

本题用到两种方法。

法一:用了map,记录下来新副节点的映射,map[cur]的值就是当前节点cur对应的副节点,map[cur]->next指针就是副本节点的next指针,其值就是map[cur->next]的值(即当前节点next指针所指节点的副本),random指针同理


法一图解

法二:在原节点后面建立副本节点,之后在遍历原链表,得到副本节点的random指针,最后断开新副节点的连接,分别恢复为两个链表。


题目


code

法二图解

详细图解

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容