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实现获取序列中最小的几个元素
Sep 25 Python
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
Python中DJANGO简单测试实例
May 11 Python
Python基础学习之常见的内建函数整理
Sep 06 Python
python分析作业提交情况
Nov 22 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
Python CVXOPT模块安装及使用解析
Aug 01 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
python提取照片坐标信息的实例代码
Aug 14 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 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自动加载的两种实现方法
2010/06/21 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
java必学必会之static关键字
2015/12/03 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python中的is和id用法分析
2015/01/26 Python
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
Python中的__slots__示例详解
2017/07/06 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Python魔法方法功能与用法简介
2019/04/04 Python
python实现抖音点赞功能
2019/04/07 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
荟萃全球保健品:维他购
2018/05/09 全球购物
护士年终考核评语
2014/12/31 职场文书
清明节随笔
2015/08/15 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL
MySQL去除密码登录告警的方法
2022/04/20 MySQL