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中对象的引用与复制代码示例
Dec 04 Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 Python
详解Django 中是否使用时区的区别
Jun 14 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
Jul 11 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 Python
pytorch常用数据类型所占字节数对照表一览
May 17 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 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
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
python操作gmail实例
2015/01/14 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
python异步存储数据详解
2019/03/19 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
2015年上半年党建工作总结
2015/03/30 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
实用求职信模板范文
2019/05/13 职场文书
Python中常见的导入方式总结
2021/05/06 Python
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS