【Leetcode】104. 二叉樹的最大深度
阿新 • • 發佈:2019-02-05
題目描述:
給定一個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明: 葉子節點是指沒有子節點的節點。
示例:
給定二叉樹 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最大深度 3 。
解題思路:
二叉樹最大深度為距離根節點的最遠葉子結點到根節點的距離+1,所以我只需要遞迴出最遠葉子結點,輸出距離+1即可。
AC程式碼:
/** * 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==NULL) return 0; int nLeft=maxDepth(root->left); int nRight=maxDepth(root->right); return nLeft>nRight?nLeft+1:nRight+1; } };