我有一個二叉搜索樹,我想刪除一個節點。如何從返回值的函數中不返回任何內容?
我需要得到其父母,所以我寫了一個函數:
private BSTreeNode<T> getParent(BSTreeNode<T> root, BSTreeNode<T> node) {
if(root == null)
return null;
if(node.element().lessThan(root.element())) {
if(root.getLeft() != null && root.getLeft().element().equal(node.element()))
return root;
else
getParent(root.getLeft(), node);
} else {
if(root.getRight() != null && root.getRight().element().equal(node.element()))
return root;
else
getParent(root.getRight(), node);
}
}
與C/C++,Java的是給我下面的錯誤:
This method must return a result of type BSTreeNode<T>
也迫使我返回值在函數的最後一行。
我該如何解決它在我的功能上下文?
使用'return getParent ...' –
@SotiriosDelimanolis並使用哪些參數? – Billie
我不知道,那是你設計的一部分。關鍵是如果你的返回類型與「void」不同,你的方法必須總是返回一些東西。 –