tree - 我想存储树后序遍历而不是打印它?我正在使用递归方法。它如何在数组中存储正确的顺序?
问题描述
我尝试使用全局数组来保存值。但是我如何编写递归的基本情况?如果我每次都返回一个数组,如何保持树遍历的正确顺序?
解决方案
不确定您使用的是什么语言,但由于您提到尝试使用全局数组,我假设它允许您附加到数组。这意味着您并不真正关心跟踪每个树值的正确数组索引,只要您以正确的顺序附加到数组即可。类似于以下伪代码的东西将起作用。
postOrderTree: int[] = [];
func createPostOrderTree(TreeNode node) {
if node is null {
return;
}
createPostOrderTree(node.leftChild);
createPostOrderTree(node.rightChild);
postOrderTree.append(node.val);
}
推荐阅读
- c# - C# 使用 SQL Server 数据填充下拉列表
- python-3.x - 符号的 Sympy 插入值不起作用
- c++ - Bazel 如何构建一个链接预先构建的外部库的简单应用程序
- javascript - React for rest api 中的 ComponentDidMount 问题
- python - 使用 tensorflow 预训练的 faster_rcnn 进行对象检测
- java - POI - 在 Excel 和 Java 日期之间转换的问题,反之亦然
- c++ - 为什么 std::hash 不能保证是确定性的?
- python - 将未合并的数据推送到新的 DF,pandas
- daml - DAML:应用表达式条件但缺少必需的授权人
- sql - 列表的内存中完全外连接