要求
給定一個二叉樹 root ,返回其最大深度。 二叉樹的 最大深度 是指從根節點到最遠葉子節點的最長路徑上的節點數。 如下圖所示的二叉樹最大深度為5.解題思路
與94題類似,採用遞迴呼叫遍歷子節點。在基本結構中,節點的最大深度等於根深度(1)加上左右較大深度,左右較大的深度可以一直遞迴至最小根節點。
實現程式碼
int maxDepth(TreeNode* root) {
int depth=0;
if(root)
{
depth++;
int depthLeft=0;
int depthRight=0;
if(root->left)
depthLeft=maxDepth(root->left);
if(root->right)
depthRight=maxDepth(root->right);
depth+=max(depthLeft,depthRight);
}
return depth;
}