これはバイナリ検索ツリー内の特定のノードを見つける方法です... 何が問題なのか分かりませんが、何らかの理由でこのコードが正しく機能していません..どんな助け?私はこれを推測しているこのコード(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を返す必要があります。しかし、いつかは、名前がexsit – Chie