题目描述[原题链接][https://www.acwing.com/problem/content/89/]
请实现一个函数可以复制一个复杂链表。
在复杂链表中,每个结点除了有一个指针指向下一个结点外,还有一个额外的指针指向链表中的任意结点或者null。
注意:
- 函数结束后原链表要与输入时保持一致
算法描述
一共分三部分处理:
- 在当前链表每个结点后面复制一个一模一样的结点
- 遍历一遍链表找到每个结点的
random
指针的指向,复刻下来 - 将复制出来的链表分离出来
做题时一定要注意细节的处理,每个循环的出口都要注意
C++代码
1 | /** |
Java代码
1 | /** |