[NewCoder]复杂链表的复制

看下面一个链表结点的定义:

struct ComplexListNode
{
	int val;
	struct ComplexListNode *next;
	struct ComplexListNode *sibling;
	
	ComplexListNode(int x) : val(x), next(NULL), sibling(NULL){}
};

  这是一个处理带有next指针指向下一个结点的链表结点定义,同时这个结点还随机的指向任一结点作为其兄弟结点。

所以要复制这样的链表,并不是很简单的一个工作。下面看一下一个暴力的迭代算法:

 

posted @ 2015-08-08 22:38  stemon  阅读(170)  评论(1编辑  收藏  举报