gpt4 book ai didi

java - 深度以上尺寸和深度以下尺寸

转载 作者:行者123 更新时间:2023-11-29 09:28:53 28 4
gpt4 key购买 nike

我是 Java 的初学者,我正在尝试编写代码来计算深度小于给定深度的节点数和深度大于给定深度的节点数。

public static int sizeAboveDepth(Node t, int k) {
// TODO: Complete this method.
if (t == null) {
return 0;
}
if (t.key > k)
return (sizeAboveDepth(t.left, k - 1) + sizeAboveDepth(t.right, k - 1) + 1);
else {
return sizeAboveDepth(t.left, k - 1) + sizeAboveDepth(t.right, k-1);
}
}

// EXERCISE 6: The method "sizeBelowDepth" is described above.
// The number of nodes in the tree "below" depth k (not including k)
// include node n if depth(n) > k.
public static int sizeBelowDepth(Node t, int k) {
// TODO: Complete this method.
if (t == null) {
return 0;
}
if (t.key > k)
return (sizeBelowDepth(t.left, k-1) + sizeBelowDepth(t.right, k-1) + 1);
else {
return sizeBelowDepth(t.left, k-1) + sizeBelowDepth(t.right, k-1);
}
}

所以有没有人可以帮我解决这个问题?我现在有点疯狂~~

最佳答案

public static int sizeAboveDepth(Node t, int depth, final int k) {
if ( t != null && depth < k){
return sizeAboveDepth( t.left, depth+1, k) +
sizeAboveDepth( t.right, depth+1, k) + 1;
} else {
return 0;
}
}

public static int sizeBelowDepth(Node t, int depth, final int k) {
if (t == null) {
return 0;
}
int below = sizeBelowDepth(t.left, depth+1, k) +
sizeBelowDepth(t.right, depth+1, k);
if (depth > k){
below++;
}
return below;
}

关于java - 深度以上尺寸和深度以下尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31757890/

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