gpt4 book ai didi

java - 在java中使用递归方法返回有序字符串?

转载 作者:行者123 更新时间:2023-12-01 17:41:58 25 4
gpt4 key购买 nike

我想对二叉树进行有序遍历。我做了这个方法:

public String inorder()
{
String inorder = "";
return recrInorder(this.root, inorder);
}

然后我有一个辅助方法:

private String recrInorder(Node curr,String string)
{
if(curr == null)
{
return "";
}
//Go through left
recrInorder(curr.getLeft(), string);
string = string + curr.getData() + ", ";
//Go through right
recrInorder(curr.getRight(), string);
return string;
}

这只会打印根目录,我想打印整个列表。

最佳答案

在 Java 中,参数是按对象引用的值传递的,因此为名为 string 的输入参数分配新值不会在该函数之外更改其值。

您需要像这样更改代码

private String recrInorder(Node curr,String string)
{
if(curr == null)
{
return string; // preserve previously calculated value
}
//Go through left
string = recrInorder(curr.getLeft(), string);
string = string + curr.getData() + ", ";
//Go through right
string = recrInorder(curr.getRight(), string);
return string;
}

关于java - 在java中使用递归方法返回有序字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59977686/

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