Distribute Coins
DFS和图论 https://leetcode.com/problems/distribute-coins-in-binary-tree/
class Solution(object):
def distributeCoins(self, root):
"""
:type root: TreeNode
:rtype: int
"""
self.res = 0
def dfs(node):
if node == None:
return 0
leftCnt = dfs(node.left)
rightCnt = dfs(node.right)
currMove = abs(leftCnt) + abs(rightCnt)
self.res += currMove
return node.val - 1 + leftCnt + rightCnt
dfs(root)
return self.resLast updated