有多叉樹,示例如下:
現(xiàn)在需要知道其深度,算法該如何實(shí)現(xiàn)呢?謝謝了!
呼喚遠(yuǎn)方
2023-04-29 17:13:33
TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
給你偽代碼吧
int ans = -1 ; void dfs(node x , int deep){ if ( x.sons.size() == 0 ) // 沒有兒子結(jié)點(diǎn)了 { ans = max(ans , deep ) ; return ; } else { for ( int i = 0;i < x.sons.size();i ++) dfs(x.sons[i] , deep + 1) ; } }
node 是定義的結(jié)點(diǎn)結(jié)構(gòu) , ans存的答案 , 調(diào)用 dfs(root , 0 ) , 就可以了。
舉報(bào)