0

Programming Interviews Exposed の次のコードを見ていますが、それがどのように機能するのか正確に理解できないようです。このメソッドは常に 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() );
}
4

1 に答える 1

2

コード スニペットからは、getValue が何を返すかはわかりません。そのため、オーバーロードされたバージョンの findLowestCommonAncestor が他にもあり、getValue が Node 以外のものを返す場合、スニペットでの findLowestCommonAncestor の呼び出しは、それ自体を再帰的に呼び出しているわけではありません。

于 2012-12-26T22:53:36.033 に答える