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调用cmd复制文件代码分享
Dec 27 Python
Python的另外几种语言实现
Jan 29 Python
python字典的常用操作方法小结
May 16 Python
Python之os操作方法(详解)
Jun 15 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
VSCode下配置python调试运行环境的方法
Apr 06 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
详解Python的三种可变参数
May 08 Python
树莓派极简安装OpenCv的方法步骤
Oct 10 Python
python with (as)语句实例详解
Feb 04 Python
python绘制封闭多边形教程
Feb 18 Python
python定义具名元组实例操作
Feb 28 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使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
Python实现截屏的函数
2015/07/26 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
如何真正的了解python装饰器
2020/08/14 Python
教师考核评语
2014/04/28 职场文书
初中学校军训方案
2014/05/09 职场文书
环保倡议书300字
2014/05/15 职场文书
副总经理任命书
2014/06/05 职场文书
2014年业务工作总结
2014/11/17 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书