本文主要是介绍leetcode 113:路径总和 II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
类似于排列,使用递归的方式,运行时间12ms
void path(TreeNode *root,int &sum,std::vector<std::vector<int>> &aa,std::vector<int> b){if(root->left==NULL&&root->right==NULL&&sum==root->val) {b.push_back(root->val);aa.push_back(b);//sum=sum+b.back();return;}else{int d=sum;int a=root->val;b.push_back(root->val);int sum=d-a;if(root->left!=NULL)path(root->left,sum,aa,b);if(root->right!=NULL)path(root->right,sum,aa,b);}
}std::vector<std::vector<int>> pathSum(TreeNode* root, int sum) {std::vector<std::vector<int>> aa;std::vector<int> b;if(root==NULL)return aa;path(root,sum,aa,b);return aa;
}
这篇关于leetcode 113:路径总和 II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!