详细思路
dfs,遍历一遍,在过程中积累路径和,到根结点更新答案 详细思路 dfs,仅仅只是遍历,ans,ans1仅仅只是携带数据,和递归逻辑无关 ans1遍历中积累路径和 ans根结点积累ans1,全局唯一所以用&class Solution { public: int sumNumbers(TreeNode* root) { int ans=0,ans1=0; dfs(root,ans,ans1); return ans; } void dfs(TreeNode*root,int &ans,int ans1){ if(!root->left&&!root->right){ ans1=ans1*10+root->val; ans+=ans1; return; } ans1=ans1*10+root->val; if(root->left)dfs(root->left,ans,ans1); if(root->right)dfs(root->right,ans,ans1); } };踩过的坑 本想着返回值直接得到root树所有。。。。。返回值不能利用,我想要的答案只是在根结点用到 不想着利用返回值,而是多在遍历中更新答案,或者计算,也很好 不能到的空节点,最多到达根结点,常见,if(root->left)才dfs