leetcode129. 求根到叶子节点数字之和

 

 


 

这题很简单,记录当前节点的数, 往左搜索后恢复这个记录的数之后再去搜索右边,仅在左右节点都为空的时候把结果加在数里。

 

/**
 * 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 {
public:
int s=0;
int sum=0;
void reverse(TreeNode *r){
    if(r==NULL){
        return;
    }
    s=s*10+r->val;
    int ss=s;
    if(r->left==NULL&&r->right==NULL){
        sum+=ss;
        return;
    }
    reverse(r->left);
    s=ss;
    reverse(r->right);
    s=ss;

}
    int sumNumbers(TreeNode* root) {
        reverse(root);
        return sum;
    }
};

  

posted @ 2020-10-29 13:09  vdk  阅读(121)  评论(0)    收藏  举报