题解 | 二叉树中和为某一值的路径(一)

二叉树中和为某一值的路径(一)

https://www.nowcoder.com/practice/508378c0823c423baa723ce448cbfd0c

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 *	TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 * };
 */
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @param sum int整型 
     * @return bool布尔型
     */
    bool hasPathSum(TreeNode* root, int sum) {
       
           if(root == nullptr)
           {
            return false;
           }
           int num=0;
           stack<pair<TreeNode*,int>> s;
           s.push({root,root->val});
           while(!s.empty())
           {
            auto [temp,val] = s.top();
            s.pop();
            if(temp->left==nullptr&&temp->right==nullptr)
            {
               if(val==sum)
               {
                return true;
               }
            }
            else
            {
                if(temp->left!=nullptr)
                {
                    s.push({temp->left,temp->left->val+val});
                }
                if(temp->right!=nullptr)
                {
                    s.push({temp->right,temp->right->val+val});
                }
            }
           }
           return false;
    }
};

全部评论

相关推荐

钱嘛数字而已:拖拉机被发明出来之后,就不需要农民了吗?农民还是需要的,但不需要这么多了,另外对农民的要求也变高了,需要会开拖拉机。
点赞 评论 收藏
分享
最喜欢秋天的火龙果很...:第一份工作一定要往大的去,工资低点没事。后面换工作会更好找,即使你去小公司,你也不可能不会换工作的。所以找大的去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务