zoukankan      html  css  js  c++  java
  • Leetcode 437.路径总和III

    路径总和III

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

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

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

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

    示例:

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

     

    返回 3。和等于 8 的路径有:

    1. 5 -> 3

    2. 5 -> 2 -> 1

    3. -3 -> 11

     1 /**
     2  * Definition for a binary tree node.
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 public class Solution {
    11     public int pathSum(TreeNode root, int sum) {
    12         if(root == null) return 0;
    13         return dfs(root, sum)+pathSum(root.left, sum)+pathSum(root.right, sum);
    14     }
    15     private int dfs(TreeNode root, int sum){
    16         int res = 0;
    17         if(root == null) return res;
    18         if(sum == root.val)
    19             res++;
    20         res+=dfs(root.left,sum - root.val);
    21         res+=dfs(root.right,sum - root.val);
    22         return res;
    23     }
    24 }

     

  • 相关阅读:
    Go语言 0 前言
    SVM支持向量机的基本原理
    支持向量机通俗介绍
    线程句柄和线程ID的区别
    分布式事务一致性,事务补偿实战
    ResultSet is from UPDATE. No Data.
    linux 批量kill进程
    mysql数据表拷贝
    Maven assembly 打包
    JS 删除对象属性
  • 原文地址:https://www.cnblogs.com/kexinxin/p/10269826.html
Copyright © 2011-2022 走看看