这个链表的节点的random是乱的,而且题目要求我们拷贝这个链表。这是一个挺难的任务的。
整体思路:
这个举例的这个链表有点复杂,我们把链表改装一下
这样看起来简单多了,我这里有一个很巧妙的方法,那就是我们申请四个节点,并且分别插在要复制的节点的后面,复制他的val,next指向本来的next,random就是原节点的random的next,这就是整体思路,很难懂,我们画一个图吧。
就拿新13节点的random是原13节点的random7的next,新7。是不是很巧妙,最后将这个链表拿出来就可以了。具体代码如下: