【LeetCode】【129】【Sum Root to Leaf Numbers】
阿新 • • 發佈:2018-12-13
題目:Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. Example: Input: [1,2,3] 1 / \ 2 3 Output: 25 Explanation: The root-to-leaf path 1->2 represents the number 12. The root-to-leaf path 1->3 represents the number 13. Therefore, sum = 12 + 13 = 25. 解題思路:簡單的遞迴,用心感受就好,注意寫好遞迴的結束條件 程式碼:
class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } int ans = 0; public int sumNumbers(TreeNode root) { sum(root,0); return ans; } public void sum(TreeNode root,int curSum){ if(root == null) return; if(root.left == null && root.right == null) ans+= curSum*10+root.val; sum(root.left,curSum*10+root.val); sum(root.right,curSum*10+root.val); }