class Solution {
public:
vector<int> v;
void DFS(TreeNode* root, int ans){
// 本身是空節點返回
if(!root) return;
// 加總
ans = ans*10 + root->val;
// 本身是子節點 => push_back
if (!root->left && !root->right) {
v.push_back(ans);
}
DFS(root->left, ans);
DFS(root->right, ans);
}
int sumNumbers(TreeNode* root) {
DFS(root, 0);
int ans=0;
for(int i=0;i<v.size();i++){
ans+=v[i];
}
return ans;
}
};