题解 | #二叉树中和为某一值的路径(一)#
二叉树中和为某一值的路径(一)
https://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) {
// write code here
if(root==nullptr)return false;
queue<pair<TreeNode *, int>> q;
q.push({root,root->val});
while(!q.empty()){
auto tmp=q.front();
q.pop();
if(tmp.first->left==nullptr&&tmp.first->right==nullptr&&tmp.second==sum)return true;
if(tmp.first->left!=nullptr){
q.push({tmp.first->left,tmp.second+tmp.first->left->val});
}
if(tmp.first->right!=nullptr){
q.push({tmp.first->right,tmp.second+tmp.first->right->val});
}
}return false;}
};

韶音科技公司氛围 663人发布