【 华为OD机试 2023】 创建二叉树(C++ Java JavaScript Python)
1、先创建值为-1的根结点,根节点在第0层;
2、然后根据operations依次添加节点: operations\[i\] = \[height, index\] 表示对第 height 层的第index 个节点node, 添加值为 i 的子节点:
- 若node 无「左子节点」,则添加左子节点;
- 若node 有「左子节点」,但无「右子节点」,则添加右子节点;
- 否则不作任何处理。
height、index 均从0开始计数;
index 指所在层的创建顺序。
注意:
- 输入用例保证每次操作对应的节点已存在;
- 控制台输出的内容是根据返回的树根节点,按照层序遍历二叉树打印的结果。版权声明:本文为CSDN博主「算法大师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/banxia_frontend/article/details/129309336华为OD机试2022&2023(C++Java JS Py):
https://blog.csdn.net/banxia_frontend/category_12225173.html
华为OD机试2023最新题库 更新中~(C++Java JS Py):
https://blog.csdn.net/banxia_frontend/category_12228764.html
华为OD机试题库 复盘中~(C++Java JS Py):
https://blog.csdn.net/banxia_frontend/category_12257144.html
请按下列描述构建一颗二叉树,并返回该树的根节点:
1、先创建值为-1的根结点,根节点在第0层;
2、然后根据operations依次添加节点: operations\[i\] = \[height, index\] 表示对第 height 层的第index 个节点node, 添加值为 i 的子节点:
- 若node 无「左子节点」,则添加左子节点;
- 若node 有「左子节点」,但无「右子节点」,则添加右子节点;
- 否则不作任何处理。
height、index 均从0开始计数;
index 指所在层的创建顺序。
注意:
- 输入用例保证每次操作对应的节点已存在;
- 控制台输出的内容是根据返回的树根节点,按照层序遍历二叉树打印的结果。