Python编程把二叉树打印成多行代码


Posted in Python onJanuary 04, 2018

题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

思路:

1、把每层节点的val值用list存好

2、把每层节点存好:

①计算当层节点的个数,这样就保证下一步每层的结点都被pop光

②然后依次弹出从左到右的每个节点,然后在list中加入该节点对应的左结点、右节点(如果存在的话)

代码如下:

class TreeNode(): 
  def __init__(self,x): 
    self.val = x 
    self.left = None 
    self.right = None 
def function(root): 
  result = [] 
  if not root: 
    return result 
  A = [] 
  A.append(root) 
  while A: 
    temp = [] 
    size = len(A) 
    for Node in A: 
      temp.append(Node.val) 
    result.append(temp) 
    for i in range(size): 
      node = A.pop(0) 
      if node.left: 
        A.append(node.left) 
      if node.right: 
        A.append(node.right) 
  return result

总结

以上就是本文关于Python编程把二叉树打印成多行代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python生成随机密码
Mar 10 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
Python模拟登陆实现代码
Jun 14 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
Python拼接字符串的7种方法总结
Nov 01 Python
python turtle库画一个方格和圆实例
Jun 27 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
PyTorch 导数应用的使用教程
Aug 31 Python
Django model class Meta原理解析
Nov 14 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
Jun 05 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 #Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 #Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 #Python
基于python实现在excel中读取与生成随机数写入excel中
Jan 04 #Python
python实现简易云音乐播放器
Jan 04 #Python
Python语言描述连续子数组的最大和
Jan 04 #Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 #Python
You might like
PHP数据缓存技术
2007/02/14 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
采用call方式实现js继承
2014/05/20 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
Python决策树分类算法学习
2017/12/22 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
教师节活动主持词
2014/04/02 职场文书
庆六一活动总结
2014/08/29 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
毕业设计论文致谢词
2015/05/14 职场文书