zoukankan      html  css  js  c++  java
  • Leetcode437Path Sum III路径总和3

    给定一个二叉树,它的每个结点都存放着一个整数值。

    找出路径和等于给定数值的路径总数。

    路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

    二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。

    示例:

    root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

            10

             /

           5   -3

          /      

       3     2    11

       /      

     3  -2    1

    返回 3。和等于 8 的路径有: 1. 5 -> 3 2. 5 -> 2 -> 1 3. -3 -> 11

    class Solution {
    public:
        int res = 0;
        int pathSum(TreeNode* root, int sum) {
            if(root == NULL)
                return 0;
            DFS(root, sum);
            pathSum(root ->left, sum);
            pathSum(root ->right, sum);
            return res;
        }
    
        void DFS(TreeNode* root, int val)
        {
            if(val - root ->val == 0)
            {
                res++;
            }
            if(root ->left == NULL && root ->right == NULL)
                return;
            if(root ->left != NULL)
            {
                DFS(root ->left, val - root ->val);
            }
            if(root ->right != NULL)
            {
                DFS(root ->right, val - root ->val);
            }
        }
    };

  • 相关阅读:
    log4c demo
    c连接redis
    1108. IP 地址无效化
    1295. 统计位数为偶数的数字
    LCP 1. 猜数字
    1281. 整数的各位积和之差
    1313. 解压缩编码列表
    仿射变换及其变换矩阵的理解
    RNN 与 LSTM 的原理详解
    网络深度对深度学习模型性能有什么影响?
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10434093.html
Copyright © 2011-2022 走看看