如何分析python二叉树中和为某一值的路径
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章给大家介绍如何分析python二叉树中和为某一值的路径,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径
千家信息网最后更新 2024年11月13日如何分析python二叉树中和为某一值的路径
这篇文章给大家介绍如何分析python二叉树中和为某一值的路径,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。
示例:
给定如下二叉树,以及目标和 sum = 22
,
5
/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
返回:
[
[5,4,11,2],
[5,8,4,5]
]
提示:
节点总数 <= 10000
注意:本题与主站 113 题相同:https://leetcode-cn.com/problems/path-sum-ii/
解题思路:
1,此题只是,先序遍历的一个变形
2,递归执行,深度优先遍历,这个时候sum变为sum-root.Val
3,到达叶子节点的时候,判断sum==root.Val,是则将整个链路加入结果里,否则,继续遍历
4,需要注意一点了,go的slice传递的是值,但是数据引用的是同一份
5,copy的时候需要先make分配空间,否则copy不成功
代码实现
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func pathSum(root *TreeNode, sum int) [][]int {
var p[]int
var r [][]int
r=dfs(root,sum,p,r)
return r
}
func dfs(root *TreeNode, sum int,path []int,ret [][]int)[][]int{
if root==nil {
return ret
}
path=append(path,root.Val)
if root.Left==nil && root.Right==nil {
if sum==root.Val{
p:=make([]int,len(path))
copy(p,path)
ret=append(ret,p)
fmt.Println(1,":",path,p,sum,root,ret)
}
return ret
}
if root.Left==nil{
return dfs(root.Right,sum-root.Val,path,ret)
}
if root.Right==nil{
return dfs(root.Left,sum-root.Val,path,ret)
}
l:=dfs(root.Left,sum-root.Val,path,ret)
r:=dfs(root.Right,sum-root.Val,path,ret)
fmt.Println(ret,l,r)
ret=append(ret,l...)
ret=append(ret,r...)
return ret
}
关于如何分析python二叉树中和为某一值的路径就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
节点
路径
时候
分析
内容
整数
更多
帮助
输入
不错
相同
成功
代码
兴趣
只是
叶子
小伙
小伙伴
思路
总数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器业务端口管理端口
软件开发的周期多长
电信软件开发项目
郑州新动力网络技术有限公司概况
安徽亳州网络技术有限公司
网络引导服务器
软件开发领域尚未开发
数据库与动态网页链接步骤
老旧服务器
苏州运营网络技术包括什么
网络安全法第63条释义
服务器能分几个主机
游戏服务器 邮件系统
2020通辽市网络安全宣传
字段太小而不能添加数据库
软件开发接口合同模版
数据库系统开发的难点
dns服务器报价
文字处理涉及到了什么网络技术
sql 从另一个数据库
服务器无法接入是什么意思
软件开发三方合同
黑龙江机架式服务器
苏州运营网络技术包括什么
数据库中mysql是什么意思
网络安全原理与实践李晓楠
数据库用户表取什么名好
咋样做好网络安全工作
网络安全等级保护制度王四新
软件开发企业的特点