hier nun mein überarbeitetes Programm.
bei den Tests gibt er mir leider immer nur die erste Zahl aus(7), woran könnte das liegen?
public int[] preorder() {
int[] ar = new int[height(root, 0)];
preorder(root, ar, 0);
return ar;
}
void preorder(TreeNode root, int[] ar, int counter) {
if(root == null){
return;
}
while(counter<=ar.length-1){
ar[counter]=root.mark;
counter++;
preorder(root.left, ar, counter);
preorder(root.right, ar, counter);
}
}
int height(){
return height(root, 0);
}
int height(TreeNode root, int sum){
if(root == null){
return sum;
}
sum++;
height(root.left, sum);
height(root.right, sum);
return sum;
}