1 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
當(dāng)我們想要?jiǎng)h除根節(jié)點(diǎn)時(shí)。代碼不是應(yīng)該也運(yùn)行第一個(gè)條件,即兩個(gè)子節(jié)點(diǎn)的條件嗎?
即使必須刪除根節(jié)點(diǎn),它實(shí)際上也會(huì)評(píng)估第一個(gè)條件。如果根節(jié)點(diǎn)同時(shí)具有左子節(jié)點(diǎn)和右子節(jié)點(diǎn),則“選項(xiàng) 1”適用于它:第一個(gè)選項(xiàng)可以很好地處理具有兩個(gè)子節(jié)點(diǎn)的任何節(jié)點(diǎn),無論它是否是根節(jié)點(diǎn)。在此選項(xiàng)中不需要區(qū)分根節(jié)點(diǎn)或非根節(jié)點(diǎn)。
其他兩個(gè)選項(xiàng)僅適用于沒有兩個(gè)子節(jié)點(diǎn)的節(jié)點(diǎn)。您似乎建議(也在代碼注釋中)只有選項(xiàng) 3 可以處理這種情況,但選項(xiàng) 2 也可以。選項(xiàng)2適用于當(dāng)節(jié)點(diǎn)node沒有兩個(gè)子節(jié)點(diǎn)并且它是根節(jié)點(diǎn)時(shí)。如果根有 2 個(gè)孩子,則將被視為選項(xiàng) 1。
添加回答
舉報(bào)