求多叉树深度算法

有多叉树,示例如下:
无标题.png
现在需要知道其深度,算法该如何实现呢?谢谢了!

阅读 13.4k
1 个回答

给你伪代码吧

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 ) , 就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题