最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

LeetCode-133-克隆圖

2021-11-29 10:04 作者:雄獅虎豹  | 我要投稿

克隆圖

題目描述:給你無(wú)向 連通 圖中一個(gè)節(jié)點(diǎn)的引用,請(qǐng)你返回該圖的 深拷貝(克?。?。

圖中的每個(gè)節(jié)點(diǎn)都包含它的值 val(int) 和其鄰居的列表(list[Node])。

示例說(shuō)明請(qǐng)見(jiàn)LeetCode官網(wǎng)。

來(lái)源:力扣(LeetCode) ??

鏈接:https://leetcode-cn.com/problems/clone-graph/ ??

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

解法一:深度優(yōu)先遍歷

首先,如果當(dāng)前節(jié)點(diǎn)為空,不用處理,直接返回。

否則,使用一個(gè)Map即visited來(lái)存儲(chǔ)已經(jīng)處理過(guò)的圖節(jié)點(diǎn)和相應(yīng)的克隆節(jié)點(diǎn),遞歸處理過(guò)程如下:

  • 判斷當(dāng)前節(jié)點(diǎn)是否在visited中,如果在,則說(shuō)明已經(jīng)處理過(guò)了,則直接從visited中取出當(dāng)前節(jié)點(diǎn)的克隆并返回。

  • 否則,根據(jù)當(dāng)前節(jié)點(diǎn)克隆出一個(gè)新的克隆節(jié)點(diǎn),新克隆的節(jié)點(diǎn)的鄰居節(jié)點(diǎn)初始化為空,然后將當(dāng)前節(jié)點(diǎn)和新的克隆節(jié)點(diǎn)添加到visited中;

  • 然后遞歸處理當(dāng)前節(jié)點(diǎn)的鄰居節(jié)點(diǎn)。

最后,返回當(dāng)前節(jié)點(diǎn)的克隆節(jié)點(diǎn)。

解法二:廣度優(yōu)先遍歷

同樣的,首先,如果當(dāng)前節(jié)點(diǎn)為空,不用處理,直接返回。

否則,也是需要初始化一個(gè)Map即visited來(lái)存儲(chǔ)已經(jīng)處理過(guò)的圖節(jié)點(diǎn)和相應(yīng)的克隆節(jié)點(diǎn),首先將當(dāng)前節(jié)點(diǎn)和由當(dāng)前節(jié)點(diǎn)克隆的節(jié)點(diǎn)添加到visited中,然后將當(dāng)前節(jié)點(diǎn)添加到一個(gè)隊(duì)列queue中,然后處理隊(duì)列中的節(jié)點(diǎn),知道隊(duì)列不為空,處理過(guò)程如下:

  • 取出隊(duì)列的頭結(jié)點(diǎn)為curNode;

  • 遍歷處理curNode節(jié)點(diǎn)的鄰居節(jié)點(diǎn);

  • 如果當(dāng)前鄰居節(jié)點(diǎn)不在visited,則將其和相應(yīng)的克隆節(jié)點(diǎn)添加到visited中,并將其加到隊(duì)列中;

  • 然后將當(dāng)前鄰居節(jié)點(diǎn)的克隆節(jié)點(diǎn)添加到curNode的克隆節(jié)點(diǎn)的鄰居節(jié)點(diǎn)列表中。

最后,返回初始節(jié)點(diǎn)的克隆節(jié)點(diǎn)。

:圖相關(guān)的算法還是了解的不多,得多學(xué)學(xué)。

【每日寄語(yǔ)】 自己動(dòng)手,豐衣足食!



LeetCode-133-克隆圖的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
土默特右旗| 武乡县| 乐清市| 嵊泗县| 苏尼特左旗| 台湾省| 辰溪县| 抚松县| 东丽区| 江华| 义乌市| 西昌市| 孝感市| 友谊县| 涞水县| 师宗县| 南昌市| 南涧| 正蓝旗| 云霄县| 峨边| 华阴市| 敖汉旗| 饶河县| 保亭| 天水市| 奇台县| 龙江县| 巧家县| 轮台县| 红原县| 清流县| 乐东| 仁化县| 谷城县| 绵阳市| 织金县| 太白县| 增城市| 余江县| 江口县|