《从头再来》剑指offer.55I 二叉树的深度

Posted 欢迎来到我的酒馆,快找个位置随便坐!

tags:

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

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

利用dfs算法一直向下找寻,直到根结点后返回。

/**
 * 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 result;
    void dfs(TreeNode* root, int deepth){
        if(root == nullptr) return;
        deepth++;//每递归一层,deepth++,然后马上更新结果的最大值
        result = max(result, deepth);
        dfs(root->left,deepth);
        dfs(root->right,deepth);

        return;
    }
    int maxDepth(TreeNode* root) {
        dfs(root,0);
        return result;
    }
};

《从头再来》

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

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

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

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

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

Leetcode二叉树专题(仅需7道题就可以带你入门二叉树基本玩法)

Java 剑指offer(55-2) 平衡二叉树