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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
python选择排序算法实例总结
Jul 01 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
python读写LMDB文件的方法
Jul 02 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
NumPy统计函数的实现方法
Jan 21 Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 Python
Python3爬虫RedisDump的安装步骤
Feb 20 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
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
JavaScript全局函数使用简单说明
2011/03/11 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
Python splitlines使用技巧
2008/09/06 Python
Python实现定时任务
2017/02/08 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
Python列表list操作相关知识小结
2020/01/29 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
建筑人员岗位职责
2013/12/25 职场文书
幼儿教师工作感言
2014/02/14 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
爱情保证书大全
2014/04/29 职场文书
连带责任保证书
2014/04/29 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
小学中等生评语
2014/12/29 职场文书
武当山导游词
2015/02/03 职场文书
工作态度怎么写
2015/06/25 职场文书
担保书格式范文
2015/09/22 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server