首页 > 求多叉树深度算法

求多叉树深度算法

有多叉树,示例如下:

现在需要知道其深度,算法该如何实现呢?谢谢了!


给你伪代码吧

int ans = -1 ; 

void dfs(node x , int deep){
    if ( x.sons.size() == 0 ) // 没有儿子结点了
        {
            ans = max(ans , deep ) ; 
            return ; 
            }
    else {
        for ( int i = 0;i < x.sons.size();i ++)
            dfs(x.sons[i] , deep + 1) ; 
            }
}

node 是定义的结点结构 , ans存的答案 , 调用 dfs(root , 0 ) , 就可以了。

【热门文章】
【热门文章】