gpt4 book ai didi

java - 在java中使用递归返回树的后序表达式的问题

转载 作者:行者123 更新时间:2023-12-02 02:52:50 25 4
gpt4 key购买 nike

我遇到一个问题,我的方法仅以字符串形式返回根节点。如果我在 helperPostOrder 方法中打印节点,它会正确打印邮政订单。

public String postorder()
{
return helperPostOrder(root, ""); // method calling
}

private String helperPostOrder(Node root , String s){
if(root != null)
{
if(hasLeft(root)){
helperPostOrder(root.left, s);
}

if(hasRight(root)){
helperPostOrder(root.right, s);
}
s = s + " " + root;
}

return s;
}

最佳答案

你能试试吗?我这里没有编译器,但我认为它是正确的:

public String postorder()
{
return helperPostOrder(root, ""); // method calling
}

private String helperPostOrder(Node root , String s){
if(root != null)
{
if(hasLeft(root)){
s = s + " " + helperPostOrder(root.left, s);
}

if(hasRight(root)){
s = s + " " + helperPostOrder(root.right, s);
}
}

return s;
}

由 @Ole V.V. 添加:你的递归调用 helperPostOrder(root.left, s);不是修改 s,即您要返回的值。这可能就是为什么您的方法返回根值而没有左子树和右子树的原因。

关于java - 在java中使用递归返回树的后序表达式的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544251/

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