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 相关文章推荐
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
儿童编程python入门
May 08 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
Python通过类的组合模拟街道红绿灯
Sep 16 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
pycharm 的Structure界面设置操作
Feb 05 Python
详解Golang如何实现支持随机删除元素的堆
Sep 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
php生成图片验证码
2015/06/09 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
js字符串转成JSON
2013/11/07 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
python3.3实现乘法表示例
2014/02/07 Python
python抓取百度首页的方法
2015/05/19 Python
Python中title()方法的使用简介
2015/05/20 Python
Python生成随机验证码的两种方法
2015/12/22 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
windows下python安装小白入门教程
2018/09/18 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
学生考试舞弊检讨书
2015/01/01 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
英语投诉信范文
2015/07/03 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
Go使用协程交替打印字符
2021/04/29 Golang