Topic
Given a binary tree containing digits from only 0-9
, 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 = + = 25
.
Answer
The topic asks for the number of all roots to the composition of the path of the leaves. After each layer is traversed, the values are *10, so a recursive approach can be considered. Refer to others, the code is as follows:
/** * Definition for Binary tree * public class TreeNode {* int val, * TreeNode left, * TreeNode right; *
treenode (int x) {val = x;} *} */public class Solution {public int sumnumbers (TreeNode root) { if (root==null) { return 0; } return sum (root,0); } private int sum (TreeNode root,int parentval) { if (root==null) { return 0; } int sum=0; int temp=10*parentval+root.val; if (root.left==null&&root.right==null) { //Note the value is assigned to sum sum=temp only if the node is a leaf node ; } if (root.left!=null) { sum+=sum (root.left,temp); } if (root.right!=null) { sum+=sum (root.right,temp); } return sum; }}
---EOF---
"Leetcode" Sum Root to Leaf Numbers