怎样求python二叉树路径和
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍怎样求python二叉树路径和,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有
千家信息网最后更新 2026年11月02日怎样求python二叉树路径和
这篇文章给大家介绍怎样求python二叉树路径和,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树,以及目标和 sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ \
7 2 1
返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。
解题思路:
1,对于二叉树类型题目一般都是递归解
2,递归有两种:自根向下和自叶子向上
3,对于相等类型题目和最大值题目解题思路相反,本题采用自根向下
/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func hasPathSum(root *TreeNode, sum int) bool { if root==nil{ return false } if root.Left==nil && root.Right==nil{ return root.Val==sum } return hasPathSum(root.Left,sum-root.Val)||hasPathSum(root.Right,sum-root.Val)}给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树,以及目标和 sum = 22,
5
/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
返回:
[
[5,4,11,2],
[5,8,4,5]
]
思路:
1,同样是递归,需要每一次把走过的路径存下来传下去,如果满足条件就返回,否则舍弃
2,注意golang 传slice 和map的坑,虽然slice的len是每次传值,但是数据地址是一样的,所以会覆盖掉,每次数据结果都不一样
3,解决办法copy函数进行复制。
/*** Definition for a binary tree node.* type TreeNode struct {* Val int* Left *TreeNode* Right *TreeNode* }*/func pathSum(root *TreeNode, sum int) [][]int {var r [][]intif root ==nil{return r}var temp []intreturn walk(root,sum,temp)}func walk(root *TreeNode, sum int,temp1 []int)([][]int){var r [][]intif root==nil{return r}temp:=make([]int,len(temp1))copy(temp,temp1)temp=append(temp,root.Val)//fmt.Println(root,temp,sum)if root.Left==nil && root.Right==nil{if root.Val==sum{r=append(r,temp)// fmt.Println(root,temp,sum,r)return r}return r}tl:=walk(root.Left,sum-root.Val,temp)tr:=walk(root.Right,sum-root.Val,temp)if len(tl)>0 {r=append(r,tl...)}if len(tr)>0 {r=append(r,tr...)}return r}
关于怎样求python二叉树路径和就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
节点
路径
目标
叶子
思路
题目
递归
内容
数据
更多
示例
类型
帮助
不错
最大
兴趣
函数
办法
地址
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络科技有限互联网
奇酷互联网科技
善班互联网科技
互联网科技视频
世界互联网领先科技成果
互联网科技ppt模板
互联网科技博客
恒银科技与互联网金融
宁夏众和广鑫互联网科技有限公司
岳阳华臻互联网科技有限公司
速维有品互联网信息科技(苏州)有限公司
中国科技创新与世界互联网大会
朱啸虎曾投资哪些互联网科技企业
互联网数据科技专业
无锡工业互联网科技有限公司
智帮互联网科技公司最近动向
杭州披云加互联网科技有限公司
互联网与数字科技关系
上海万顺科技互联网有限公司招聘
数字互联网科技有限公司
互联网 科技公司
无锡溥仪互联网科技有限公司
成都互联网科技公司100强
互联网和黑科技的看法
华夏互联网科技业
互联网科技大奖都有哪些公司
互联网科技股为什么大涨
九思连强互联网电子科技有限公司
西安有哪些互联网高科技企业
互联网科技大会大佬