sum method

T sum([
  1. num valueCallback(
    1. T
    )?
])

计算当前节点值 如果给定了回调,那么将使用给定的回调进行值统计 否则直接使用 _value 统计

Implementation

T sum([num Function(T)? valueCallback]) {
  return eachAfter((T node, b, c) {
    num sum = valueCallback == null ? node._value : valueCallback(node);
    List<TreeNode> children = node._childrenList;
    int i = children.length;
    while (--i >= 0) {
      sum += children[i].value;
    }
    node._value = sum;
    return false;
  });
}