多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > leetcode || 138、Copy List with Random Pointer

leetcode || 138、Copy List with Random Pointer

來源:程序員人生   發布時間:2015-07-30 14:51:27 閱讀次數:3539次

problem:

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.

Return a deep copy of the list.

Hide Tags
 Hash Table Linked List
題意:copy1個單鏈表,單鏈表的節點多了1個指針,隨機指向1個節點或空

thinking:

(1)這道題其實蠻簡單,竅門在于hash table的利用。

(2)使用 unordered_map<RandomListNode *, RandomListNode *> record;底層是借助hash table實現的,訪問效力高。

這類存儲新舊節點指針的方法在圖的copy中也用到過,效力奇高!

(3)先遍歷鏈表,將新舊節點指針存入hash table,先不管next指針和random指針。

(4)再遍歷hash table,找到舊節點next和random的指向,跟新新節點的next指針和random指針。

注意先調用count()或find()判斷key值是不是存在

code:

class Solution { private: unordered_map<RandomListNode *, RandomListNode *> record; queue<RandomListNode *> _queue; public: RandomListNode *copyRandomList(RandomListNode *head) { if(head==NULL) return NULL; _queue.push(head); while(!_queue.empty()) { RandomListNode *tmp=_queue.front(); _queue.pop(); if(tmp->next!=NULL) _queue.push(tmp->next); RandomListNode *tmp2= new RandomListNode(tmp->label); record.insert(make_pair(tmp,tmp2)); } for(unordered_map<RandomListNode *,RandomListNode *>::iterator it=record.begin();it!=record.end();++it) { RandomListNode *tmp3=it->first; RandomListNode *tmp4=it->second; if(record.count(tmp3->next)!=0) tmp4->next=record[tmp3->next]; else tmp4->next=NULL; if(record.count(tmp3->random)!=0) tmp4->random=record[tmp3->random]; else tmp4->random=NULL; } return record[head]; } };


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩欧美印度一级毛片 | 日本护士xxww免费 | 色综合天天综一个色天天综合网 | 久久久久欧美激情 | 久久国产精品久久国产精品 | 久久国产精品视频一区 | 俄罗斯videosex性欧美黑吊 | 亚洲黄色影片 | 亚洲日本中文字幕在线 | 久久久久欧美国产精品 | 国产一区二区三区久久精品小说 | 欧美黄色a级| 偷拍欧美视频 | 国产精品一区二区三区四区 | www黄色大片| 亚洲欧美日韩精品久久亚洲区 | 国产亚洲免费观看 | 欧美性久久久久 | 国产啪精品视频网免费 | 久久视频一区 | 亚洲春色小说 | 国产亚洲精品观看91在线 | 久久天堂| 国产成人福利 | 欧美亚洲日本一区二区三区浪人 | 免费 欧美 自拍 在线观看 | 波多野结衣中文字幕2022免费 | 亚洲欧美在线视频免费 | 一级片久久 | 伊人国产在线 | www.国产福利 | 男女在线免费视频 | 玖玖中文| 日本一区不卡在线 | 久久一区二区三区四区 | 高清国产精品久久久久 | 久草在线综合 | 亚洲六区 | 国产精品一区二区三 | 国产五月| 岛国午夜精品视频在线观看 |