C++ 不借助 C++11:前序遍历建二叉树并计算宽度
以下是使用 C++ 实现计算二叉树宽度的代码,不使用 C++11 特性: ```cpp #include <iostream> template<typename T> struct BintreeNode { T data; BintreeNode* left; BintreeNode* right; BintreeNode(T value) : data(value), left(NULL), right(NULL) {} }; template<typename T> class BinaryTree { public: void levelNum(BintreeNode<T>* root, int a[], int h) { if (root == NULL) { return; } a[h]++; levelNum(root->left, a, h + 1); levelNum(root->right, a, h + 1); } int getWidth(BintreeNode<T>* root) { int a[100] = {0}; levelNum(root, a, 0); int maxWidth = 0; for (int i = 0; i < 100; i++) { if (a[i] > maxWidth) { maxWidth = a[i]; } } return maxWidth; } }; // 构建二叉树的函数 template<typename T> BintreeNode<T>* buildTree(const std::string& str, int& index) { if (index >= str.size()) { return NULL; } if (str[index] == '#') { index++; return NULL; } BintreeNode<T>* root = new BintreeNode<T>(str[index]); index++; root->left = buildTree(str, index); root->right = buildTree(str, index); return root; } int main() { std::string input = "abc##de#g##f"; int index = 0; BinaryTree<char> tree; BintreeNode<char>* root = buildTree(input, index); int width = tree.getWidth(root); std::cout << width << std::endl; return 0; } ``` ######[AI写代码神器 | 497点数解答 | 2024-11-10 23:41:27]
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)59
- 洛谷乒乓球题解:11 分制与 21 分制比赛结果计算全攻略(DeepSeek | 675点数解答 | 2025-04-28 18:19:45)323
- P2185判断质数问题的C++代码实现(字节豆包 | 396点数解答 | 2026-03-22 16:54:08)38
- 求解 1 至 n 内第 k 大孤独数:质数与余数的巧妙探寻(字节豆包 | 298点数解答 | 2025-11-10 20:01:57)196
- 巧用二分图匹配:Python实现有向无环图最小路径覆盖问题求解(字节豆包 | 714点数解答 | 2025-12-12 18:51:59)78
- 工作日报:用二分图匹配算法攻克有向无环图最小路径覆盖问题(字节豆包 | 1186点数解答 | 2025-12-13 10:23:59)53
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)100
- Python 编程:计算 n 个正整数中小于 x 的数的总和(字节豆包 | 233点数解答 | 2025-08-02 21:35:03)316
- C++ 实现:计算 n 个正整数中小于 x 的数的总和及注意事项(字节豆包 | 255点数解答 | 2025-08-02 21:35:27)222
- C++实现:计算n个正整数中小于x的数的总和(字节豆包 | 341点数解答 | 2025-08-02 21:52:19)298
- P2223数字求和1:C++实现与解题思路(DeepSeek | 226点数解答 | 2026-04-10 21:38:17)27
- P2224数字求和2:C++实现与输入输出处理详解(DeepSeek | 321点数解答 | 2026-04-10 21:39:12)20