public int SumMaxValue() { if (mMaxValue == int.MinValue) { if (mLeftChild != null && mRightChild != null) { mMaxValue = mValue + Math.Max(mLeftChild.SumMaxValue(), mRightChild.SumMaxValue()); } else if (mLeftChild != null) { mMaxValue = mValue + mLeftChild.SumMaxValue(); } else if (mRightChild != null) { mMaxValue = mValue + mRightChild.SumMaxValue(); } else { mMaxValue = mValue; } } return(mMaxValue); }
public int SumMaxValue() { return(mRoot.SumMaxValue()); }