gpt4 book ai didi

Java递归二叉树

转载 作者:行者123 更新时间:2023-12-02 00:54:13 29 4
gpt4 key购买 nike

欢迎!我有一个名为 less 的递归公共(public)静态方法,它采用一个树节点(原始二叉树,而不是真正的搜索树)和一个 int 参数,如果树中的所有值都小于整数,则返回该参数。所以,我会使用 public class TN { public int value; public TN left, right; public TN(int v, TN l, TN r) {value = v; left = l; right = r;} }所以,我的方法如下所示:

public static boolean less(TN s, int toFind){
if (s == null)
return true;
else{
if(s.value <= toFind)
return less(s.left, toFind) && less(s.right, toFind); // right here do I return true? or do I have to somehow recall recursively
else
return false;
}

我想知道这是对的还是我错过了什么???我必须返回 true 和 false 吗?

最佳答案

还有很多更优雅的面向对象的方式来编写它。我的建议是使 less() 成为 TN 类的非静态成员函数。这样,如果树的根节点名为 root,则只需调用 root.less() 即可。每次调用 less() 都会调用 left.less()right.less()

由于您发布的示例代码甚至无法编译,我想知道您是否使用 IDE,或者甚至尝试使用 javac 编译您的类。如果您是 Java 新手,我强烈建议您使用 Eclipse、Netbeans 或其他 IDE。

关于Java递归二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579746/

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