Node Depths Code Structure
J. David Martinez
Open DS&A FounderHonestly, I think that the node depths code should look like this:
def nodeDepths(root):
sumOfDepths = 0
stack = [{
"node": root,
"depth": 0
}]
while len(stack) > 0:
obj = stack.pop()
node = obj["node"]
depth = obj["depth"]
#node, depth = obj["node"], obj["depth"]
if node is None:
continue
sumOfDepths += depth
stack.append({"node": node.left, "depth": depth + 1})
stack.append({"node": node.right, "depth": depth + 1})
return sumOfDepths
class BinaryTree:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
It's much more appealing to the eyes, and it shows the different parts of the algorithm.