Re: [閒聊] 每日leetcode

作者: DJYOSHITAKA (Evans)   2024-05-19 21:56:38
補一下昨天的:(
Distribute Coins in Binary Tree
其實還蠻不好想的
想了一陣子才想說可以往上回傳
"我要往上送多少金幣or我需要從上面收下多少金幣"
然後dfs的過程中 把往上送的跟從上面收下的都全部加起來就是答案了
有趣的一題
(如果沒想出來就是糞肏的一題了)
def __init__(self):
self.ans = 0
def dfs(self, root: Optional[TreeNode]) -> int:
if root is None:
return 0
left = self.dfs(root.left)
right = self.dfs(root.right)
self.ans = self.ans + abs(left) + abs(right)
return root.val + (left+right) - 1
def distributeCoins(self, root: Optional[TreeNode]) -> int:
self.dfs(root)
return self.ans
作者: SecondRun (雨夜琴聲)   2024-05-19 21:57:00
別捲了
作者: devilkool (對貓毛過敏的貓控)   2024-05-19 21:58:00
我不看解答根本想不到這個思維
作者: DJYOSHITAKA (Evans)   2024-05-19 22:01:00
今天怎麼是個hard:(
作者: ray90514 (讀書人)   2024-05-19 22:11:00
Hard直接開擺 不過看答案好像差一點就想出來了

Links booklink

Contact Us: admin [ a t ] ucptt.com