如何分析python二叉树中和为某一值的路径
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章给大家介绍如何分析python二叉树中和为某一值的路径,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径
千家信息网最后更新 2025年01月22日如何分析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安全错误
数据库的锁怎样保障安全
重庆金牛网络技术有限公司
网络安全常见防护技术
电脑版服务器延迟
仙剑问情服务器多少人满了
中职网络技术专业课高考
高中网络技术教案 沪教版
徐汇区技术软件开发收费标准
软件开发商进度管理
深圳市网络服务器机柜
邮件群发与服务器
iis 重启服务器
欧盟建立数据库
电影神秘的家庭服务器
广州汇智网络技术怎么样
java数据库设置唯一
常州创新软件开发服务至上
网络安全有没有必要考研
网络技术服务哪家好
网络技术公司是什么
税务系统 网络安全
计算机三级网络技术找工作
经典数据库笔试题
广西教育网络安全攻防实战
广东浪潮服务器虚拟化定做
贵州微丰软件开发公司电话
根服务器美国能断俄罗斯的网吗
易观监测数据库
完整的网络安全体系
专业配送系统软件开发
信息安全 论文 数据库