
思路:BFS。很简单,只用在每循环一层时,计数一次就好了
int maxDepth(struct TreeNode* root){
if(root==NULL)
return 0;
struct TreeNode *cur;
struct TreeNode *queue[10000];
int front = 0, rear = 0;
int count = 0;
queue[rear++] = root;
while(front!=rear){
int last = rear;
int size = last - front;
for(int i =0;i<size;i++){
cur = queue[front++];
if(cur->left!=NULL){
queue[rear++] = cur->left;
}
if(cur->right!=NULL){
queue[rear++] = cur->right;
}
}
count ++ ;
}
return count;
}
该博客介绍了一种使用广度优先搜索(BFS)算法来计算二叉树最大深度的方法。通过创建一个队列,将根节点入队,然后在循环中逐层遍历树,每次循环增加计数,直到队列为空。在遍历过程中,将非空子节点加入队列。最后返回计数作为树的最大深度。
566

被折叠的 条评论
为什么被折叠?



