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