gpt4 book ai didi

algorithm - 在没有额外类(class)的情况下找到二叉树中的最深节点?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:43 24 4
gpt4 key购买 nike

我遇到了在二叉树中找到最深叶节点的问题。

我发现的每个解决方案都是这样的:

private class DepthNode
{
int depth;
Node n;
}

public class BinaryTree
{
...

public Node deepestNode()
{
return deepestNode(root, 0).n;
}

private DepthNode deepestNode(Node node, int depth)
{
...
}
}

有没有其他方法不需要声明一个新类来规避返回多个值的问题?

最佳答案

具有节点和深度两个公共(public)字段的类是最像 Java 的做事方式。备选方案包括:

  • Object[]有两个元素(节点和深度),和
  • A HashMap<String, Object>第一个条目的键是 "node"其值为节点,第二个条目的键为 "depth"其值为 Integer代表深度。

不过,对于 Java 来说,一个单独的类是最惯用的。其他方式没有类,但对于 Java 来说看起来有点奇怪。例如,Python 和 JavaScript 不需要额外的类;大多数语言也不会,我猜。 Java 只是非常坚持名称和类。

关于algorithm - 在没有额外类(class)的情况下找到二叉树中的最深节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52694482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com