###### tags: `LeetCode` `Tree` `Recursion` `Medium` # LeetCode #129 [Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/) 給你一個二元樹的根節點 root ,樹中每個節點都存放有一個 0 到 9 之間的數字。 每條從根節點到葉節點的路徑都代表一個數字: 例如,從根節點到葉節點的路徑 1 -> 2 -> 3 表示數字 123 。 計算從根節點到葉節點生成的 所有數字之和 。 葉節點 是指沒有子節點的節點。 --- 每次把現有值傳下去, 到下一輪時把傳入參數的值乘以10再加上節點的值即可得到到該節點的總和值。 若節點為空則回傳0, 節點的值為左右子樹的和與節點本身的值中取較大者。 --- ``` class Solution { public: int sumNumbers(TreeNode* root) { return max(root->val, (helper(root->left, root->val)+helper(root->right,root->val))); } int helper(TreeNode* node, int sum){ if(!node)return 0; sum=sum*10+node->val;; return max(sum,helper(node->left, sum)+helper(node->right,sum)); } }; ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up