gpt4 book ai didi

java - 如何删除二叉树的叶子?

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:16 26 4
gpt4 key购买 nike

我正在尝试移除所有叶子。我知道叶子没有 child ,这就是我到目前为止所拥有的。

 public void removeLeaves(BinaryTree n){  

if (n.left == null && n.right == null){

n = null;

}

if (n.left != null)

removeLeaves(n.left);

if (n.right != null)

removeLeaves(n.right);

}

最佳答案

n = null; 对您没有帮助,因为 n 只是您函数的局部变量。相反,您需要在父级上设置 n.left = null;n.right = null;

我不会给你一个完整的解决方案,因为这闻起来很像家庭作业,但是你可以,例如,向你的函数添加一个返回值来指示所讨论的节点是否是叶子,并采取适当的父级中的操作(在调用 removeLeaves 之后)。

关于java - 如何删除二叉树的叶子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635292/

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