我已測試過,看看我的樹是否正確插入,並且正在使用僞古典實例來完成此工作。我的問題是,調試器會告訴我,真理被設置爲true,然後當我從函數結尾返回真值時,我會得到錯誤信息。我嘗試了所有我能想到的,但我無法弄清楚爲什麼會發生這種情況。這是我的代碼,用於搜索二叉搜索樹。遞歸二進制搜索樹時無法正確返回我的值
var valuetest;
var truth = false;
if (this.value === value) {
var truth = true;
return truth;
} else if (value > this.value) {
valuetest = this.right.value;
if (valuetest === value) {
truth = true;
return truth;
} else {
this.right.contains(value);
}
} else {
valuetest = this.left.value;
if (valuetest === value) {
truth = true;
return truth;
} else {
this.left.contains(value);
}
}
return truth;
//returns false even if truth is set to true for some reason.
更新'this.right.contains(值);''來返回this.right.contains(值);'和左相同。 –
此外,你沒有檢查NULL(即結束樹) –
謝謝,你的解決方案工作,現在我必須找出空執行檢查。 – Milos