如图1所示,有一条单链表,其节点除了有next指针外,还有一个random指针.random指针可指向单链表中的任意节点,包括它自身.random指针一旦指定,便不再更改.请设计算法,复制此单链表,并给出时间复杂度. 图1 带有random指针的单链表 解法1. 时间复杂度为O(n*n) 先按next指针,将链表复制一份.使用p1指向原链表的头节点,p2指向p1指向的节点的random节点,p3指向p1的next节点,cnt记录p3移动的步数,p4指向新链表的头节点.对比p3和p2的指向:如果p…