leetcode-Sum Root to Leaf Numbers

来源:互联网 发布:sftp端口号 编辑:程序博客网 时间:2024/06/07 22:38
Difficulty: Medium

Given a binary tree containing digits from0-9 only, each root-to-leaf path could represent a number.

An example is the root-to-leaf path1->2->3 which represents the number123.

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 number13.

Return the sum = 12 + 13 = 25.

<span style="font-size:12px;">/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {    int sum=0;    void helper(TreeNode *root,string path){        if(!root->left&&!root->right){            sum+=stoi(path+to_string(root->val));        }        if(root->left)            helper(root->left, path+to_string(root->val));        if(root->right)            helper(root->right,path+to_string(root->val));        }public:    int sumNumbers(TreeNode* root) {        if(!root)            return 0;        string path;            helper(root,path);        return sum;    }};</span>



0 0