剑指 Offer 55 - I. 二叉树的深度

Posted 是七喜呀!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 55 - I. 二叉树的深度相关的知识,希望对你有一定的参考价值。

剑指 Offer 55 - I. 二叉树的深度


题目链接: 剑指 Offer 55 - I. 二叉树的深度

有关题目

输入一棵二叉树的根节点,求该树的深度。

从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。

提示:

节点总数 <= 10000

题解

法一:深度优先搜索(BFS)

/**
 * Definition for a binary tree node.
 * struct TreeNode 
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) 
 * ;
 */
class Solution 
public:
    int maxDepth(TreeNode* root) 
        if (root == nullptr)
            return 0;
        
        return 1 + max(maxDepth(root->left), maxDepth(root->right));
    
;


法二:广度优先搜索(BFS)

/**
 * Definition for a binary tree node.
 * struct TreeNode 
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) 
 * ;
 */
class Solution 
public:
    int maxDepth(TreeNode* root) 
        if (root == nullptr)
            return 0;
        
        int ans = 0;
        queue<TreeNode*> q;
        q.push(root);

        while(!q.empty())
        
            int sz = q.size();
            while(sz > 0)
            
                TreeNode* node = q.front(); q.pop();
                if (node->left) q.push(node->left);
                if (node->right) q.push(node->right);
                sz--;
            

            ans++;
        

        return ans;
    
;

以上是关于剑指 Offer 55 - I. 二叉树的深度的主要内容,如果未能解决你的问题,请参考以下文章

剑指OFFER----面试题55 - I. 二叉树的深度

[LeetCode]剑指 Offer 55 - I. 二叉树的深度

每日一题 - 剑指 Offer 55 - I. 二叉树的深度

算法leetcode|剑指 Offer 55 - I. 二叉树的深度|104. 二叉树的最大深度(rust和go)

算法leetcode|剑指 Offer 55 - I. 二叉树的深度|104. 二叉树的最大深度(rust和go)

算法leetcode|剑指 Offer 55 - I. 二叉树的深度|104. 二叉树的最大深度(rust和go)