2015-05-02 100 views

回答

3

如果一個節點沒有左節點或右節點,則知道最深的最高級別爲1 - 節點本身。

如果它有左右節點,則遞歸併選擇較小的節點。

highestFull(BinaryNodeX<Comparable> *t) 
{ 
    if (! t->left || ! t->right) return 1; 
    return 1 + std::min(highestFull(t->left), highestFull(t->right)); 
} 
+0

但是兄弟姐妹呢? –

+0

@DonRoby這個解決方案不需要任何節點知道它的兄弟姐妹。父節點將決定兄弟姐妹的「豐滿度」。 –

+1

我現在仔細閱讀,你說得對。 +1! –