题解 | #牛群特殊路径的数量#
牛群特殊路径的数量
https://www.nowcoder.com/practice/1c0f95d8396a432db07945d8fe51a4f5
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ #include <queue> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @param sum int整型 * @return int整型 */ int ans = 0; void dfs(TreeNode* root, int sum) { if(!root) return; sum -= root->val; if(sum==0) ++ans; dfs(root->left, sum); dfs(root->right, sum); } int pathSum(TreeNode* root, int sum) { // write code here // 从二叉树的任意节点到另一个任意节点 和 为sum; if(!root) return 0; queue<TreeNode*> q; q.push(root); while(!q.empty()) { int len = q.size(); for(int i=0; i<len; ++i) { TreeNode* t = q.front(); q.pop(); dfs(t, sum); if(t->left) q.push(t->left); if(t->right) q.push(t->right); } } return ans; } };
虚数五行区解题中心 文章被收录于专栏
非淡泊无以明志,非宁静无以致远