題目:
輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點(含根、葉節點)形成樹的一條路徑,最長路徑的長度爲樹的深度。
解析:
遞歸,深度遍歷(dfs)。
參考答案:
/***
* struct TreeNode{
* int val;
* TreeNode *left;
* TreeNode *right;
* };
*/
class Solution{
public:
int maxDepth(TreeNode *root){
if(root == NULL)
return 0;
int leftDepth = maxDepth(root -> left);
int rightDepth = maxDepth(root -> right);
return leftDepth > rightDepth ? (leftDepth + 1) : (rightDepth + 1);
}
};