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
Django集成百度富文本编辑器uEditor攻略
Jul 04 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
python简单商城购物车实例代码
Mar 15 Python
python3中替换python2中cmp函数的实现
Aug 20 Python
Python 获取项目根路径的代码
Sep 27 Python
python 实现兔子生兔子示例
Nov 21 Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
在主流系统之上安装Pygame的方法
May 20 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 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常用image图像函数集
2013/06/24 PHP
php获取字段名示例分享
2014/03/03 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
学习python (2)
2006/10/31 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
python使用tornado实现简单爬虫
2018/07/28 Python
用Python写一个自动木马程序
2019/09/17 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
Python实现不规则图形填充的思路
2020/02/02 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
Python 在局部变量域中执行代码
2020/08/07 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
关于圣诞节的广播稿
2014/01/26 职场文书
推荐信格式范文
2014/05/09 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
Java设计模式之代理模式
2022/04/22 Java/Android
python神经网络Xception模型
2022/05/06 Python
mysql数据库隔离级别详解
2022/06/16 MySQL