LeetCode(合集) 路径总和(二叉树) golang copy的值复制
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的值复制相关推荐
- 113. 路径总和 II golang
113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = ...
- leetcode系列--112. 路径总和
leetcode系列–第112题.路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum . 判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标 ...
- 【Leetcode】113. 路径总和 II
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 ...
- 53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum .判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum .如果存在,返回 tr ...
- 49 - 算法 - Leetcode 112 路径总和 -二叉树递归 带参数一起递归
// 感觉都是那几个固定的格式 寻找临时 单前树 状态输入减小 int sum递减 //树递归 所带的参数也递归减少class Solution {public:bool hasPathSum(Tre ...
- 【Leetcode】112. 路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = 2 ...
- 亚马逊 kindle ebook 大合集资源多真的好吗?
我用阿里云盘分享了「亚马逊 kindle ebook 大合集」,你可以不限速下载复制这段内容打开「阿里云盘」App 即可获取链接:https://www.aliyundrive.com/s/XndqJ ...
- LeetCode(合集)括号 golang
LeetCode(合集)括号 20. 有效的括号 golang(三) 22. 括号生成 golang 图解
- 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [5, ...
最新文章
- Libra教程之:Libra testnet使用指南
- drbd实现mysql地热备_Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)...
- spring事务传播特性_关于spring的事务的传播propagation特性
- protues仿真stm32 虚拟终端 数据不显示或者乱码 标准库
- 基于Matlab App Designer的语音信号分析与处理(三):App的设计
- flowplayer播放需求
- 三线压力传感器原理_压力传感器接线图及原理介绍
- 多系统启动菜单的修复EasyBoot
- mysql error 1137_遇到的错误-----MySQL使用临时表 出现 “ERROR 1137 (HY000): Can't reopen table” 的异常 解决方法...
- 学习笔记(02):【中国PHP教育大牛高洛峰】亲授php教程-PHP整型(integer)和浮点型(float或double)...
- Mybatis中resultMap和resultType的区别
- 山东省出台《意见》配置公共体育设施
- 叶子结点和分支节点_什么是叶子节点,度?根节点?
- 【硬见小百科】看完这篇,请不要再说不懂MOSFET!
- C#后台生成画报(海报)
- 怎么用ALOAM跑kitti数据集的bag包
- dpi是什么?如何更改dpi?(仅个人笔记,可能有误)
- leetcode 202.Happy Number (python3 )
- 批处理电脑右下角不显示网络音量图标
- PayPal(v2)扣款(用户创建订单、授权、扣款、退款)模式
热门文章
- sass 基础——回顾
- mockJs文档(一)
- Django框架下报的版本问题
- .Net Core Swagger:Actions require an explicit HttpMethod binding for Swagger 2.0
- 201571030316/201571030314 《小学四则运算练习软件需求说明》结对项目报告
- python CS游戏1--角色创建,武器购买
- Android学习——ListView的缓存机制
- acdream 1409 Musical 状压DP
- LPWSTR 类型的实参与const.char *类型形参不兼容
- [ SAP ]MM Valuation System