Python编程求解二叉树中和为某一值的路径代码示例
发布时间:2020-12-17 07:34:53 所属栏目:Python 来源:网络整理
导读:题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思路:首先要理解题意,是从根节点往子节点连。 1、如果只有根节点或者找到叶子节点,我们就把
题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思路:首先要理解题意,是从根节点往子节点连。 1、如果只有根节点或者找到叶子节点,我们就把其对应的val值返回 2、如果不是叶子节点,我们分别对根节点的左子树、右子树进行递归,直到找到叶子结点。然后遍历把叶子结点和父节点对应的val组成的序列返回上一层;如果没找到路径,其实也返回了序列,只不过是[] 代码如下: # -*- coding:utf-8 -*- class TreeNode(): def __init__(self,x): self.val = x self.left = None self.right = None def function(root,target_number): result = [] if not root: return result # 如果只有根节点或者找到叶子节点,我们就把其值返回 if not root.left and not root.right and root.val == target_number: return [[root.val]] else: # 如果不是叶子节点,我们分别对根节点的左子树、右子树进行递归,注意修改变量: left = function(root.left,target_number - root.val) right = function(root.right,target_number - root.val) for item in left+right: result.append([root.val]+item) return result 总结 以上就是本文关于Python编程求解二叉树中和为某一值的路径代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站: Python探索之创建二叉树 Python算法之求n个节点不同二叉树个数 如有不足之处,欢迎留言指出。感谢朋友们对本站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- python通过线程实现定时器timer的方法
- python爬虫爬取淘宝商品信息(selenum+phontomjs
- Python中让MySQL查询结果返回字典类型的方法
- python – 具有非唯一标签的两个pandas系列上的操
- python – pip freeze显示appdirs,包装,pypars
- python – Numpy – 删除负值的数据行
- python中unittest单元测试框架的简单应用-demo
- python – Django – 如何以最佳方式编写用户和配
- python – SqlAlchemy Core和裸存在的查询
- python – 深度学习Udacity课程:Prob 2作业1(不
热点阅读