迭代上一个的sum*10,注意加上节点是否为null的判断,不然会导致超时,因为有只有一个叶子节点存在的情况
class Solution { public: int sumNumbers(TreeNode* root) { return dfs(root,0); } int dfs(TreeNode* root, int PrevSum) { if(root==NULL) { return 0; } int sum=PrevSum*10+root->val; if(root->left==NULL&&root->right==NULL) { return sum; } else { return dfs(root->left,sum)+dfs(root->right,sum); } } };
原文:https://www.cnblogs.com/zhangdalao/p/14617966.html