输入的第一行为根节点;第二行以后每行的第二元为第一元的左节点,第三元为第一元的右节点,0表示空;其中#为输入结束标记。
1条回答 默认 最新
- Rorschach! 2022-11-09 10:48关注```cpp #include using namespace std; typedef struct node { char val; struct node *left; struct node *right; } node; #define ALLOC_(name, val) \ node *name = malloc(sizeof node); \ name->val = val; \ name->left = name->right = null node *buildTree() { char a, b, c; cin >> a; if (a == '#') return null; unordered_map mp; ALLOC_(root, a); mp[root->val] = root; while (cin >> a) { if (a == '#') break; cin >> b>> c; auto parent = mp.find(a); auto left = mp.find(b); auto right = mp.find(c); if (left == mp.end()) { ALLOC_(p, b); mp[p->val] = p; left= mp.find(p->val); } if (right == mp.end()) { ALLOC_(p, b); mp[p->val] = P; right= mp.find(p->val); } parent->second->left = left->second; parent->second->right - right->second; } return root; } ```本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
- ¥30 eclipse开启服务后,网页无法打开
- ¥30 雷达辐射源信号参考模型
- ¥15 html+css+js如何实现这样子的效果?
- ¥15 STM32单片机自主设计
- ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
- ¥15 不小心不正规的开发公司导致不给我们y码,
- ¥15 我的代码无法在vc++中运行呀,错误很多
- ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
- ¥60 fail to initialize keyboard hotkeys through kernel.0000000000