其他分享
首页 > 其他分享> > 《从头再来》剑指offer.55I 二叉树的深度

《从头再来》剑指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;
    }
};

《从头再来》

标签:TreeNode,int,dfs,deepth,二叉树,从头再来,offer.55,root,result
来源: https://www.cnblogs.com/azie420/p/14860682.html