LintCode-劍指Offer-(105)複製帶隨機指針的鏈表

class Solution {
public:
    /**
     * @param head: The head of linked list with a random pointer.
     * @return: A new head of a deep copy of the list.
     */
    //遞歸真是個好東西,沒想到真能用一個變量實現,簡潔明瞭啊,非常好。
    RandomListNode *copyRandomList(RandomListNode *head) {
        // write your code here
        RandomListNode* my;
        myfunc(head,my);
        return my;
    }
    void myfunc(RandomListNode* node,RandomListNode*& n){
        if(node==NULL)
        {
            n=NULL;
            return ;
        }
        n=new RandomListNode(node->label);
        n->random=node->random;
        myfunc(node->next,n->next);
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章