所谓复杂链表,指的是链表中每个节点不仅有指向下一个节点的next指针,还有一个radom指针指向一个随机节点,甚至可以指向自己,可以指向空。
typedef struct ListNode
{
DataType data;
struct ListNode* next; //next指向下一个节点
struct ListNode* radom; //radom指向随机节点
}ListNode;
所以复杂链表的复制考虑的因素就比较多,经过九九八十一难,我实现了这个功能。
最开始我是这样认为的:
这是不对的,如果有链表中有相同的data,那就一定会出错。