题解 | #二叉树中和为某一值的路径(一)#
二叉树中和为某一值的路径(一)
http://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c
/**
- struct TreeNode {
- int val;
- struct TreeNode *left;
- struct TreeNode *right;
- }; */
class Solution { public: /** * * @param root TreeNode类 * @param sum int整型 * @return bool布尔型 / bool hasPathSum(TreeNode root, int sum) { if(!root) return false; vector path; if(!find(root,sum,path).empty()) return true; return false; } vector& find(TreeNode* root,int sum,vector& path){ path.push_back(root->val); if(sum == root->val && !root->left &&!root->right) return path; if(root->left) find(root->left,sum-root->val,path); if(root->right) find(root->right,sum-root->val,path); path.pop_back(); return path; } };