【发布时间】:2017-01-19 16:14:05
【问题描述】:
我有一个 BST,想在达到一定深度后修剪树。我在尝试遍历树时遇到NullPointerException,将节点设置为超过想要的深度为空。
我的逻辑与我在这里所做的事情是否正确?这似乎是一个非常简单的问题,但我似乎无法理解导致此错误的原因。
public void clip(int d) {
int counter = 0;
clip_helper(d, root, counter);
}
public void clip_helper(int depth, Node n, int c) {
if (n != null) {
c++;
if (c == depth) {
n.left = null;
n.right = null;
}
}
clip_helper(depth, n.left, c);
clip_helper(depth, n.right, c);
}
*还应该补充一点,我对递归解决方案还很陌生,所以我可能会遗漏一些明显的东西。
【问题讨论】:
标签: java recursion binary-search-tree