java - 有没有办法在每次递归时创建一个唯一的变量?

标签 java recursion tree depth

是否可以创建一个对于该递归级别唯一的变量,以便无论发生什么情况都将保持这种状态,而不管其他递归步骤如何?这是否可以通过在递归完成后在每个递归步骤中检索变量中的值的方式来完成?

让我用一个例子来想象这个问题。假设我有一棵树。我想记录每个节点的深度级别,并将其组织起来,以便每个深度级别的所有节点都捆绑在同一个数组或列表中。所以我需要为每个深度级别使用不同的数组/列表。

我正在递归遍历树。在每次递归开始时,我都会创建一个新列表。 这是同一行,所以每次递归都会创建一个同名的列表变量。我正在处理一个深度为 X 的节点。我将这个节点添加到列表中,然后(递归地)处理一个子节点在深度 X + 1。我将此子节点添加到新列表中。依此类推,直到树中的所有节点都属于某个列表。

递归完成后,我希望有一个列表的数量等于树的高度(每个深度 1 个列表,包含该深度的所有节点),以及一种访问所有节点的方法列表。

这可能吗?

最佳答案

将值存储在列表中,将每个新值附加到列表中。列表中值的索引将是添加值的递归深度。

关于java - 有没有办法在每次递归时创建一个唯一的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30118948/

相关文章:

Javascript:如何根据即将到来的索引值递归分组数组

python - 如何将元组列表转换为字典的字典

algorithm - 查找给定预购的树高

java - Swing 在作业运行时更新 UI 组件

使用 Fetch 和分页的 Javascript,递归?

java - 部署后的 TomCat 错误页面

java - 使用递归打印镜像词

recursion - 关于这个 "flatten the nested list"问题,这本书的答题卡是不是错了?

java - 客户端-服务器套接字

java - 与 i++ 相比,执行强制转换操作的成本有多高?