Copy List with Random Pointer
节点中需要拷贝的两个引用是next
和random
。next
引用比较好拷贝,相当直接复制普通列表。而对于random
则需要目标节点已存在才比较容易些拷贝代码,采用的办法就是构造一个HashMap
,其中key
是原节点,value
是拷贝节点,在拷贝random
引用的过程中,直接用map.get(node.random)
来获取相应的目标节点即可。
实现代码:
1 | /** |
节点中需要拷贝的两个引用是next
和random
。next
引用比较好拷贝,相当直接复制普通列表。而对于random
则需要目标节点已存在才比较容易些拷贝代码,采用的办法就是构造一个HashMap
,其中key
是原节点,value
是拷贝节点,在拷贝random
引用的过程中,直接用map.get(node.random)
来获取相应的目标节点即可。
实现代码:
1 | /** |
原文作者: findingsea
原文链接: http://findingsea.github.io/2015/04/25/copy-list-with-random-pointer-at-leetcode/
发表日期: April 25th 2015, 1:03:00 pm
版权声明: 本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: true tags: true