2021-12-15: 路径总和 III。给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。力扣437。

答案2021-12-15:

时间紧,具体见代码。

代码用golang编写。代码如下:

package main

import "fmt"

func main() {
root := &TreeNode{val: 1}
root.left = &TreeNode{val: 2}
root.right = &TreeNode{val: 3}
ret := pathSum(root, 3)
fmt.Println(ret)
} type TreeNode struct {
val int
left *TreeNode
right *TreeNode
} func pathSum(root *TreeNode, sum int) int {
preSumMap := make(map[int]int)
preSumMap[0] = 1
return process(root, sum, 0, preSumMap)
} // 返回方法数
func process(x *TreeNode, sum int, preAll int, preSumMap map[int]int) int {
if x == nil {
return 0
}
all := preAll + x.val
ans := 0
if _, ok := preSumMap[all-sum]; ok {
ans = preSumMap[all-sum]
}
if _, ok := preSumMap[all]; !ok {
preSumMap[all] = 1
} else {
preSumMap[all] = preSumMap[all] + 1
}
ans += process(x.left, sum, all, preSumMap)
ans += process(x.right, sum, all, preSumMap)
if preSumMap[all] == 1 {
delete(preSumMap, all)
} else {
preSumMap[all] = preSumMap[all] - 1
}
return ans
}

执行结果如下:


左神java代码

2021-12-15: 路径总和 III。给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开的更多相关文章

  1. [二叉树-根到叶的子路径]路径总和 III (两层递归)

    题目437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父 ...

  2. Leetcode 437.路径总和III

    路径总和III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). ...

  3. 【LeetCode】437. 路径总和 III

    437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点 ...

  4. Java实现 LeetCode 437 路径总和 III(三)

    437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点 ...

  5. [LeetCode] 437. 路径总和 III ☆☆☆(递归)

    路径总和 III 描述 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子 ...

  6. 2021.12.15 P2328 [SCOI2005]超级格雷码(找规律填空)

    2021.12.15 P2328 [SCOI2005]超级格雷码(找规律填空) https://www.luogu.com.cn/problem/P2328 题意: 输出n位B进制的格雷码. 分析: ...

  7. java编程基础篇---------> 编写一个程序,从键盘输入三个整数,求三个整数中的最小值。

    编写一个程序,从键盘输入三个整数,求三个整数中的最小值. 关键:声明变量temp   与各数值比较. package Exam01; import java.util.Scanner; public ...

  8. Leetcode题目437:路径总和III(递归-简单)

    题目描述: 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二 ...

  9. 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用

    一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点: 如果找到了,删除它. 说明: 要求算法时间复杂度为 O(h),h 为树的高度. 示例: root = [5,3,6,2,4,null,7] ...

  10. [Swift]LeetCode437. 路径总和 III | Path Sum III

    You are given a binary tree in which each node contains an integer value. Find the number of paths t ...

随机推荐

  1. kafka-集群搭建及启动脚本

    集群搭建: [root@localhost kafka_2.11-0.10.2.1]# cat config/server.properties | grep -v ^$ | grep -v ^# b ...

  2. 对Android关联SDK后,还是无法显示那俩图标的解决

    显示出来!!!! 可以这么解决: 步骤一: 步骤二: 找到这个,在上方的栏里面: 步骤三: 将这四个选中: 步骤四: 然后选中这个栏: 步骤五: 选中Android: 步骤六: 最后,点击右下角的Ap ...

  3. 对于jsp页面中内嵌Java代码失败的解决方法(总是报出jsp类无法编译的错误)

    准备好接收奥!解决方法来啦! 在我这几天查看了好几遍内嵌的Java代码之后,没有发现什么语法上面的错误,看来错误应该就是出现在环境上面了,或者是有什么我没有注意到的小细节.还好,终于将"罪魁 ...

  4. 消息队列RabbitMQ业务场景应用及解决方案

    目录 0. 博客参考 1. 背景 2. 技术选型 3. 消息队列的几个常见问题 4. 代码功能开发及测试 4.1 生产者 4.2 消费者 5. 源代码 6.补充:消息的顺序性 0. 博客参考 http ...

  5. obs推流核心流程分析

    前置步骤和录屏是一样的,见我的上一篇文章 https://www.cnblogs.com/billin/p/17219558.html bool obs_output_actual_start(obs ...

  6. swagger-ui 导出离线文档md格式

    <dependency> <groupId>io.github.swagger2markup</groupId> <artifactId>swagger ...

  7. 音质效果不错的Pcie声卡之CM8828听歌声卡

    CM8828芯片是cmedia骅讯公司生产的,采用这个芯片的声卡价格不一,便宜的100多,贵一点的500多.价位在100多买到这款声卡还是比较实惠的,再高一点的声卡都是堆料的.CM8828声卡是原生的 ...

  8. 迁移学习(PCL)《PCL: Proxy-based Contrastive Learning for Domain Generalization》

    论文信息 论文标题:PCL: Proxy-based Contrastive Learning for Domain Generalization论文作者:论文来源:论文地址:download 论文代 ...

  9. [原创][luogu]P1217 回文质数 真·生成回文的方法

    不多说,直接看代码,都在注释里 // 中心思想: // * 1. 代入数据只想回文的一半和位数的变化 // * 例. 1001 和 101 都存的是10, 但是位数一个是4, 一个是3 // * 2. ...

  10. sqlite3使用2

    一. 在cmd中打开SQLite 1.进入数据库 通过输入 d:cd D:\--\SQLitesqlite3 进入数据库 查看数据库的基本信息: .help 显示各种重要的SQLite点命令的列表.s ...