Я начинающий 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);
}
}
так ли кто-нибудь может помочь мне исправить это? Я как бы сумасшедший об этом сейчас ~~
Как вы думаете, имеет ли Node.key глубину узла? – laune
Я знаю, что это волнует, но я не знаю другого способа сделать это –
Можете ли вы описать свой класс Node? Я думаю, вам не нужно изменять значение K, вы можете сделать его статическим. –