public static int deepestLeavesSum_depthVal(TreeNode p_root) { depthVal topdv = new depthVal(0, p_root.val); topdv.add(diver(p_root.left, topdv)); topdv.add(diver(p_root.right, topdv)); return(topdv.val); }
public static depthVal diver(TreeNode p_node, depthVal p_parent) { if (p_node is null) { return(p_parent); } Console.WriteLine("depth:" + (p_parent.depth + 1) + "|val:" + p_node.val); depthVal thisNode = new depthVal(p_parent.depth + 1, p_node.val); if (!(p_node.left is null)) { thisNode.add(diver(p_node.left, thisNode)); } if (!(p_node.right is null)) { thisNode.add(diver(p_node.right, thisNode)); } return(thisNode); }