思路
- 假如根結點不存在,高度為 0。
- 假如存在,答案是
1 + max(左節點的最大高度, 右節點的最大高度)
程式碼
遞迴
class Solution {
public:
int maxDepth(TreeNode* root) {
return root ? max(maxDepth(root->left), maxDepth(root->right)) + 1 : 0;
}
};
複雜度分析
- 時間複雜度:
- 空間複雜度:棧空間
1 + max(左節點的最大高度, 右節點的最大高度)class Solution {
public:
int maxDepth(TreeNode* root) {
return root ? max(maxDepth(root->left), maxDepth(root->right)) + 1 : 0;
}
};