Я безнадежно теряюсь, когда дело доходит до рекурсивных функций. Мне нужно создать рекурсивную функцию для обхода бинарного дерева и вставки нового узла между определенными значениями. Нужно ли мне повторно копировать мою функцию перемещения и изменять ее во всех других функциях, в которых я ее использую? Кто-нибудь, пожалуйста, оцените функцию траверса?
Я думаю, что мой код обхода в порядке.
Node traverse (Node currentNode){
if (!currentNode.left.equals(null)){
traverse (currentNode.left);
return currentNode.left;
}
if (!currentNode.right.equals(null)){
traverse (currentNode.right);
return currentNode.right;
}
return currentNode;
}