112. 路径总和

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。

说明: 叶子节点是指没有子节点的节点。

示例:
给定如下二叉树,以及目标和 sum = 22,

              5/ \4   8/   / \11  13  4/  \      \7    2      1

返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。

Code

func hasPathSum(root *TreeNode, sum int) bool {if root == nil {return false}if root.Val == sum && root.Left == nil && root.Right == nil{return true}return hasPathSum(root.Left, sum-root.Val) || hasPathSum(root.Right, sum-root.Val)
}

113. 路径总和 II

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。

说明: 叶子节点是指没有子节点的节点。

示例:
给定如下二叉树,以及目标和 sum = 22,

          5/ \4   8/   / \11  13  4/  \    / \7    2  5   1

返回:

[
[5,4,11,2],
[5,8,4,5]
]

Code

var res [][]int
func pathSum(root *TreeNode, sum int) [][]int {res = [][]int{}dfs(root, sum, []int{})return res
}func dfs(root *TreeNode, sum int, stack []int) {if root == nil {return}stack = append(stack, root.Val)if root.Left == nil && root.Right == nil {if sum == root.Val {r := make([]int, len(stack))copy(r, stack)res = append(res, r)}}dfs(root.Left, sum-root.Val, stack)dfs(root.Right, sum-root.Val, stack)
}

437. 路径总和 III

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

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

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

二叉树不超过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

Code

func pathFrom(root *TreeNode, sum int) int {if root == nil {  return 0 }cnt := 0              if root.Val == sum { cnt++  }cnt += pathFrom(root.Left, sum-root.Val)cnt += pathFrom(root.Right, sum-root.Val)return cnt
}func pathSum(root *TreeNode, sum int) int {if root == nil { return 0 }return pathFrom(root, sum) + pathSum(root.Left, sum) + pathSum(root.Right, sum)
}

LeetCode(合集) 路径总和(二叉树) golang copy的值复制相关推荐

  1. 113. 路径总和 II golang

    113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = ...

  2. leetcode系列--112. 路径总和

    leetcode系列–第112题.路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum . 判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标 ...

  3. 【Leetcode】113. 路径总和 II

    给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22, 5         ...

  4. 53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)

    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum .判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum .如果存在,返回 tr ...

  5. 49 - 算法 - Leetcode 112 路径总和 -二叉树递归 带参数一起递归

    // 感觉都是那几个固定的格式 寻找临时 单前树 状态输入减小 int sum递减 //树递归 所带的参数也递归减少class Solution {public:bool hasPathSum(Tre ...

  6. 【Leetcode】112. 路径总和

    给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例:  给定如下二叉树,以及目标和 sum = 2 ...

  7. 亚马逊 kindle ebook 大合集资源多真的好吗?

    我用阿里云盘分享了「亚马逊 kindle ebook 大合集」,你可以不限速下载复制这段内容打开「阿里云盘」App 即可获取链接:https://www.aliyundrive.com/s/XndqJ ...

  8. LeetCode(合集)括号 golang

    LeetCode(合集)括号 20. 有效的括号 golang(三) 22. 括号生成 golang 图解

  9. 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)

    给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [5, ...

最新文章

  1. Libra教程之:Libra testnet使用指南
  2. drbd实现mysql地热备_Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)...
  3. spring事务传播特性_关于spring的事务的传播propagation特性
  4. protues仿真stm32 虚拟终端 数据不显示或者乱码 标准库
  5. 基于Matlab App Designer的语音信号分析与处理(三):App的设计
  6. flowplayer播放需求
  7. 三线压力传感器原理_压力传感器接线图及原理介绍
  8. 多系统启动菜单的修复EasyBoot
  9. mysql error 1137_遇到的错误-----MySQL使用临时表 出现 “ERROR 1137 (HY000): Can't reopen table” 的异常 解决方法...
  10. 学习笔记(02):【中国PHP教育大牛高洛峰】亲授php教程-PHP整型(integer)和浮点型(float或double)...
  11. Mybatis中resultMap和resultType的区别
  12. 山东省出台《意见》配置公共体育设施
  13. 叶子结点和分支节点_什么是叶子节点,度?根节点?
  14. 【硬见小百科】看完这篇,请不要再说不懂MOSFET!
  15. C#后台生成画报(海报)
  16. 怎么用ALOAM跑kitti数据集的bag包
  17. dpi是什么?如何更改dpi?(仅个人笔记,可能有误)
  18. leetcode 202.Happy Number (python3 )
  19. 批处理电脑右下角不显示网络音量图标
  20. PayPal(v2)扣款(用户创建订单、授权、扣款、退款)模式

热门文章

  1. sass 基础——回顾
  2. mockJs文档(一)
  3. Django框架下报的版本问题
  4. .Net Core Swagger:Actions require an explicit HttpMethod binding for Swagger 2.0
  5. 201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告
  6. python CS游戏1--角色创建,武器购买
  7. Android学习——ListView的缓存机制
  8. acdream 1409 Musical 状压DP
  9. LPWSTR 类型的实参与const.char *类型形参不兼容
  10. [ SAP ]MM Valuation System