예제 #1
0
 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);
 }
예제 #2
0
 public int SumMaxValue()
 {
     return(mRoot.SumMaxValue());
 }