Это метод поиска определенного узла в двоичном дереве поиска ... Я не знаю, в чем проблема, но по какой-то причине этот код не работает должным образом .. любая помощь?Какая ошибка в этом коде (BST)
public KAUstudent findNodeName(String fName, String lName){
return findNodeName(root, fName, lName);
}
public KAUstudent findNodeName(KAUstudent p , String fName, String lName){
if (p == null)
return null;
else {
// if the data we are searching for is found at p (at the current root)
if (fName.equalsIgnoreCase(p.getFirstName()) && lName.equalsIgnoreCase(p.getLastName()))
return p;
else if ((fName.compareToIgnoreCase(p.getFirstName())< 0) || (lName.compareToIgnoreCase(p.getLastName()) <0))
return findNodeName(p.getLeft(), fName, lName);
else
return findNodeName(p.getRight(), fName, lName);
}
}
Пожалуйста, объясните, что значит не работать должным образом. Что он делает по сравнению с тем, что вы ожидаете? – ChiefTwoPencils
Если имя существует в дереве, оно может вернуть узел. иначе он должен вернуть null. но когда-нибудь он возвращает null, хотя имя exsit – Chie