我想爲二叉搜索樹編寫搜索函數。我如何編寫它,以便我可以從基本案例if(root.data == node.data){return node;}
返回而不會收到有關該方法不返回任何內容的編譯器警告。在這種情況下,root是這些方法所屬BST類的一部分。目標C中的二叉搜索樹返回聲明搜索函數
-(Node*)search:(Node*)node{
if(root == nil){
return node;
}
if(root.data == node.data){
return node;
}
if (node.data < root.data){
root = root.left;
[self search:root];
}
if (node.data > root.data) {
root = root.right;
[self search:root];
}
}
我不知道我能在這樣一個return語句調用一個方法。謝謝。 – noobsmcgoobs
'return'採取任何有效的表達式。當然你也可以把'[self search:root];'的結果賦給一個變量,然後返回變量。 – rmaddy
但如果該方法返回一個對象(在本例中爲節點),則每個if語句都必須返回一個對象?我不能只是回報;對於第一種情況? – noobsmcgoobs