Title Description: (link)
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
.
Problem Solving Ideas:
Depth-first search, traversing the path of all root nodes to the leaf nodes.
1 /**2 * Definition for a binary tree node.3 * struct TreeNode {4 * int val;5 * TreeNode *left;6 * TreeNode *right;7 * TreeNode (int x): Val (x), left (null), right (null) {}8 * };9 */Ten classSolution { One Public: A intSumnumbers (treenode*root) { - returnSumnumbers (Root,0); - } the Private: - intSumnumbers (TreeNode *root,intsum) { - if(Root = = nullptr)return 0; -sum = SUM *Ten+ root->Val; + if(Root->left = = nullptr && Root->right = =nullptr) { - returnsum; + } A at returnSumnumbers (Root->left, sum) + sumnumbers (root->Right , sum); - } -};
[Leetcode] Sum Root to Leaf Numbers