首页 > 代码库 > Problem Sum Root to Leaf Numbers
Problem Sum Root to Leaf Numbers
Problem Description:
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.
For example,
1 / 2 3
The root-to-leaf path 1->2
represents the number 12
.
The root-to-leaf path 1->3
represents the number 13
.
Return the sum = 12 + 13 = 25
.
Solution:
1 public int sumNumbers(TreeNode root) { 2 int[] sum = {0}; 3 getSum(root, 0, sum); 4 return sum[0]; 5 } 6 7 public void getSum(TreeNode root, int current, int[] sum) { 8 if (root == null) { 9 return;10 }11 12 current = current * 10 + root.val;13 14 if (root.left == null && root.right == null) {15 sum[0] += current;16 return;17 }18 19 getSum(root.left, current, sum);20 getSum(root.right, current, sum);21 22 23 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。