2013年10月6日
摘要: 问题描述这是从微博上看到的一个面试问题,描述如下:给一个链表,如下定义:1 struct Node2 {3 struct Node* next;4 struct Node* random;5 void*data;6 };其中random 指向链表中的任意一个节点或为空。现在要求对一个这种链表进行深度复制(即复制得到的链表中节点的next, random指向新链表中的相对应位置)。如下图, 第一个是原链表,第二个是复制后的链表,现在要求尽可能快、省地完成这个复制过程。简单分析这个问题的难点显然就在于怎么设置新链表节点的random指针。一种比较直观的解法是类似于深度优先进行复制... 阅读全文
posted @ 2013-10-06 13:08 twoon 阅读(9823) 评论(0) 推荐(0) 编辑