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;
}
};

浙公网安备 33010602011771号