给出计算二叉树深度的C++代码,输入数据( 45 2 68 1 23 5 12 9 6 ),给出运行结果
时间: 2024-02-25 11:55:54 浏览: 17
以下是计算二叉树深度的 C++ 代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
int maxDepth(TreeNode* root) {
if (!root) {
return 0;
}
return 1 + max(maxDepth(root->left), maxDepth(root->right));
}
TreeNode* buildTree(vector<int>& nums, int start, int end) {
if (start > end) {
return NULL;
}
int mid = start + (end - start) / 2;
TreeNode* root = new TreeNode(nums[mid]);
root->left = buildTree(nums, start, mid - 1);
root->right = buildTree(nums, mid + 1, end);
return root;
}
int main() {
vector<int> nums = {45, 2, 68, 1, 23, 5, 12, 9, 6};
TreeNode* root = buildTree(nums, 0, nums.size() - 1);
cout << maxDepth(root) << endl; // 输出:3
return 0;
}
```
输入数据为 `{45, 2, 68, 1, 23, 5, 12, 9, 6}`,运行结果为 `3`。