112. 路径总和

✅做题思路or感想:

  • 也是遍历一遍二叉树的路径,每次遍历一个节点就把targeSum减去对应的节点值,如果最后是叶子节点并且targeSum为0,则符合条件

    class Solution {
    public:
        bool flag = false;
        void dfs(TreeNode* cur, int sum, int targetSum) {
            //判断条件
            if (sum == targetSum && !cur->left && !cur->right) {
                flag = true;
                return;
            } else {
                //分别向左右子树遍历
                if (cur->left) dfs(cur->left, sum + cur->left->val, targetSum);
                if (cur->right) dfs(cur->right, sum + cur->right->val, targetSum);
            }
        }
        bool hasPathSum(TreeNode* root, int targetSum) {
            if (root == nullptr)return false;
            dfs(root, root->val, targetSum);
            if (flag)return true;
            else return false;
        }
    };
    
posted @   北原春希  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示