九章算法官网-原文网址
http://www.jiuzhang.com/problem/18/
题目
初阶:复制一个简单链表。假设链表节点只包含data和next。
进阶:假设链表节点新增一个属性叫random,他随机指向了链表中的任何一个节点。复制这个链表。
解答
初阶:编程实现(略)。
进阶:将1->2->3->4->NULL先复制为1->1->2->2->3->3->4->4->NULL,然后再拆开。
面试官角度
链表复制是考察对指针运用的熟练程度。对于初阶和进阶的问题都会要求实现。关键点并不在于想出进阶问题怎么做,而是一定要把实现写好。对于进阶问题的做法如何想到,就看你聪不聪明或者是不是准备过这个题目了。