Skip to content

Instantly share code, notes, and snippets.

@harel-tussi
Created April 11, 2024 17:15
Show Gist options
  • Save harel-tussi/f8b857e0ed7cac5d5b6d3bdeb1b52039 to your computer and use it in GitHub Desktop.
Save harel-tussi/f8b857e0ed7cac5d5b6d3bdeb1b52039 to your computer and use it in GitHub Desktop.
matan
class TreeNode:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
# Example usage:
n1 = TreeNode(5)
n2 = TreeNode(2)
n3 = TreeNode(9)
n4 = TreeNode(3)
n5 = TreeNode(8)
n7 = TreeNode(12)
n8 = TreeNode(6)
n1.left = n2
n1.right = n3
n2.right = n4
n3.left = n5
n3.right = n7
n5.left = n8
n4.right = None
n5.right = None
n7.left = None
n8.right = None
n8.left = None
def cum_sum(node):
def cum_sum_recursive(node, sum):
if node is None:
return sum
sum = cum_sum_recursive(node.left, sum)
print({"value": node.value, "sum": sum})
node.value += sum
sum = node.value
print({
"value":node.value,
"sum":sum
})
cum_sum_recursive(node.right, sum)
print({
"value":node.value,
"sum":sum
})
return sum
cum_sum_recursive(node, 0)
cum_sum(n1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment