0
我正在看編程訪談暴露以下代碼,我似乎無法理解它的工作原理。這個方法不會總是返回null嗎?查找最低公用祖先代碼說明
// Overload it to handle nodes as well
Node findLowestCommonAncestor(Node root, Node child1,
Node child2){
if(root == null || child1 == null || child2 == null){
return null;
}
return findLowestCommonAncestor(root, child1.getValue(),
child2.getValue());
}
如果這是確切的代碼,那麼它會在其中一個子節點上執行'getValue()'時返回null或拋出異常。不會做的是'findLowestCommonAncestor' ... – Oded
@Oded或堆棧溢出由於無限遞歸。 –
@Jan - 不太可能,除非樹非常深(如果深度很深,應用程序會事先觸發內存不足)。 – Oded