Я должен искать данный альбом из двоичного дерева и возвращать его. Вот то, что я до сих пор:Рекурсивно искать двоичное дерево
public AlbumNode getAlbum(AlbumNode root, String name) {
if (root != null) {
if(root.left != null) getAlbum(root.left, name);
if(root.right != null) getAlbum(root.right, name);
}
if(root.getName().equals(name)) return root;
return null;
}
Я знаю, в чем проблема (я думаю), но я застрял ... После того, как имена всех узлов, он сравнивает их с именем, но делает это для всех из них и возвращает последний проверенный (который всегда является корнем двоичного дерева). Как это исправить?
Вы проверяете имя в двоичном дереве поиска или двоичном дереве? – Rahul
двоичное дерево поиска, я хочу, чтобы он возвращался, как только он находит совпадение. – AlldaRage
Основная проблема заключается в том, что вы просматриваете левое дерево, но затем отбрасываете ответ. Затем вы делаете то же самое для правильного дерева. Я хотел бы попросить вас подумать о том, как вы могли бы фактически использовать результаты этих двух рекурсивных поисков, а не бросать их. К сожалению, несколько плакатов задумались о вас, так что уже слишком поздно. – ajb