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实现对csv文件的列的内容读取
Jul 04 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
解决python执行不输出系统命令弹框的问题
Jun 24 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
python 字典套字典或列表的示例
Dec 16 Python
pytorch 实现打印模型的参数值
Dec 30 Python
详解python中各种文件打开模式
Jan 19 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 Python
打包PyQt5应用时的注意事项
Feb 14 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
django的autoreload机制实现
Jun 03 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
jquery foreach使用示例
2013/09/12 Javascript
基于jquery实现的自动补全功能
2015/03/12 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
Python使用剪切板的方法
2017/06/06 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
python如何控制进程或者线程的个数
2020/10/16 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
资助贫困学生倡议书
2014/05/16 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS