我正在查看以下编程访谈暴露的代码,我似乎无法理解它是如何工作的。这个方法总是不会返回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() );
}
答案 0 :(得分:2)
从代码片段中,我们并不知道getValue返回的内容。因此,如果有其他重载版本的findLowestCommonAncestor,并且getValue返回Node之外的其他内容,那么在你的代码片段中对findLowestCommonAncestor的调用不会以递归方式调用自身。