LeetCode 129. Sum Root to Leaf Numbers

 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  */
10 class Solution {
11 public:
12     int sum;
13     
14     void process(TreeNode* root, int& sum, int cur){
15         
16         cur = cur * 10 + root->val;
17         if(!root->left && !root->right){
18             sum += cur;
19             return;
20         }
21         if(root->left) process(root->left, sum, cur);
22         if(root->right) process(root->right, sum, cur);
23         
24     }
25     
26     int sumNumbers(TreeNode* root) {
27         if(!root) return 0;
28         
29         sum = 0;
30         process(root, sum, 0);
31         return sum;
32     }
33 };

 

posted @ 2016-03-02 20:53  co0oder  阅读(137)  评论(0编辑  收藏  举报