これが私の参照ツリーです:
3
/ \
5 2
/ / \
1 4 6
再帰的メソッドの期待される出力は次のとおりです。
(1*3) + (2 * (5 + 2)) + (3 * (1 + 4 + 6)) = 50
...そしてこれが私がこれまでに持っているコードです:
public int depthSum()
{
int depth = 1;
return depthSum(overallRoot, depth);
}
public int depthSum(IntTreeNode someNode, int someDepth)
{
if(someNode == null)
{
return 0;
}
else
{
return someDepth * someNode.data + //some recursion
}
}
自分自身を呼び出してsomeDepthをインクリメントする必要があると思いますが、これを正しく行うことができないようです。何か案は?