Python编程求解二叉树中和为某一值的路径代码示例


Posted in Python onJanuary 04, 2018

题目描述

输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

思路:首先要理解题意,是从根节点往子节点连。

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通过smpt发送邮件的方法
Apr 30 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
详解如何使用Python编写vim插件
Nov 28 Python
树莓派实现移动拍照
Jun 22 Python
Python将string转换到float的实例方法
Jul 29 Python
Python空间数据处理之GDAL读写遥感图像
Aug 01 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
Dec 10 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
TensorBoard 计算图的查看方式
Feb 15 Python
基于python实现地址和经纬度转换
May 19 Python
Python编写Windows Service服务程序
Jan 04 #Python
微信跳一跳python辅助软件思路及图像识别源码解析
Jan 04 #Python
Python操作MongoDB数据库的方法示例
Jan 04 #Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 #Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 #Python
Python给你的头像加上圣诞帽
Jan 04 #Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 #Python
You might like
linux下为php添加curl扩展的方法
2011/07/29 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
javascript 快速排序函数代码
2012/05/30 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
分分钟玩转Vue.js组件
2016/10/25 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
详解Python中的日志模块logging
2015/06/19 Python
Python装饰器基础详解
2016/03/09 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
pytorch masked_fill报错的解决
2020/02/18 Python
Python基于locals返回作用域字典
2020/10/17 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
结构工程研究生求职信
2013/10/13 职场文书
七年级生物教学反思
2014/01/30 职场文书
人事科岗位职责范本
2014/03/02 职场文书
监察建议书范文
2014/03/12 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
商铺门前三包责任书
2014/07/25 职场文书
社会工作专业自荐信
2014/09/26 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
电工生产实习心得体会
2016/01/22 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
Go语言测试库testify使用学习
2022/07/23 Golang