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的Twisted框架编写简单的网络客户端
Apr 16 Python
介绍Python中内置的itertools模块
Apr 29 Python
python安装与使用redis的方法
Apr 19 Python
使用Python对Access读写操作
Mar 30 Python
python逆序打印各位数字的方法
Jun 25 Python
深入浅析Python中的迭代器
Jun 04 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
python多线程使用方法实例详解
Dec 30 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
Django ValuesQuerySet转json方式
Mar 16 Python
总结Python连接CS2000的详细步骤
Jun 23 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 配置文件中open_basedir选项作用
2009/07/19 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
使用js获取QueryString的方法小结
2010/02/28 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
python不带重复的全排列代码
2013/08/13 Python
python支持断点续传的多线程下载示例
2014/01/16 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
Python中常见的数制转换有哪些
2020/05/27 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
新员工欢迎词
2014/01/12 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
应聘护士求职信
2014/07/21 职场文书
搞笑的获奖感言
2014/08/16 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
股东协议书范本2016
2016/03/21 职场文书