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 23 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
pandas 将list切分后存入DataFrame中的实例
Jul 03 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
如何基于python操作excel并获取内容
Dec 24 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
python随机模块random使用方法详解
Feb 14 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
Python3实现建造者模式的示例代码
Jun 28 Python
python实现批量移动文件
Apr 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服务器实现多session并发运行
2006/10/09 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
php+mysql实现无限级分类
2015/11/11 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
2015/02/26 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
行政管理专业推荐信
2013/11/02 职场文书
房地产开盘策划方案
2014/02/10 职场文书
团日活动总结模板
2014/06/25 职场文书
活动总结新闻稿
2014/08/30 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
团代会闭幕词
2015/01/28 职场文书
学校百日安全活动总结
2015/05/07 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python
python计算列表元素与乘积详情
2022/08/05 Python
关于MySQL中explain工具的使用
2023/05/08 MySQL