Python编程把二叉树打印成多行代码

 更新时间:2018年01月04日 11:13:58   作者:明柳梦少  
这篇文章主要介绍了Python编程把二叉树打印成多行代码,具有一定借鉴价值,需要的朋友可以参考下

题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

思路:

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编程把二叉树打印成多行代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • OpenCV半小时掌握基本操作之对象测量

    OpenCV半小时掌握基本操作之对象测量

    这篇文章主要介绍了OpenCV基本操作之对象测量,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python练习之循环控制语句 break 与 continue

    python练习之循环控制语句 break 与 continue

    这篇文章主要介绍了python循环控制语句 break 与 continue,break就像是终止按键,不管执行到哪一步,只要遇到break,不管什么后续步骤,直接跳出当前循环
    2022-06-06
  • 浅析Git版本控制器使用

    浅析Git版本控制器使用

    本片文章主要给大家介绍了Git版本控制器的使用心得和技巧分享,需要的朋友学习参考下吧。
    2017-12-12
  • Python动态属性与反射机制方式

    Python动态属性与反射机制方式

    深入探索Python中的反射机制和动态属性的细节,对我们来说是编写具有适应性和高可扩展性程序的关键,本篇文章旨在通过详尽的概念介绍和精心设计的代码示例,加强您对这些核心概念的把握,并助您在实践中运用自如
    2024-06-06
  • 使用Python和OpenCV进行视觉图像分割的代码示例

    使用Python和OpenCV进行视觉图像分割的代码示例

    在图像处理领域,图像分割是一项基础且关键的技术,它涉及到将图像划分为若干个具有特定属性的区域,本文将通过一个实践项目,展示如何使用Python编程语言,结合OpenCV库,对一张玫瑰花的图片进行图像分割,需要的朋友可以参考下
    2025-01-01
  • Python Selenium异常处理的实例分析

    Python Selenium异常处理的实例分析

    在本篇内容里小编给大家分享了关于Python Selenium异常处理的实例分析内容,对此有兴趣的朋友们可以学习参考下。
    2021-02-02
  • 基于深度学习和OpenCV实现目标检测

    基于深度学习和OpenCV实现目标检测

    这篇文章主要介绍了通过使用OpenCV进行基于深度学习的对象检测以及使用OpenCV检测视频,文中的示例代码讲解详细,需要的可以参考一下
    2021-12-12
  • Python数据清理技巧分享

    Python数据清理技巧分享

    数据常常被比作新时代的石油,就像石油需要经过提炼才能制造出汽油一样,数据也需要经过整理才能发挥其作用,Python作为最广泛使用的编程语言之一,提供了强大的数据整理工具,本文给大家介绍了Python数据清理的技巧,需要的朋友可以参考下
    2023-10-10
  • Pycharm使用爬虫时遇到etree红线问题及解决

    Pycharm使用爬虫时遇到etree红线问题及解决

    这篇文章主要介绍了Pycharm使用爬虫时遇到etree红线问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 使用python检测网页文本内容屏幕上的坐标

    使用python检测网页文本内容屏幕上的坐标

    在 Web 开发中,经常需要对网页上的文本内容进行处理和操作,有时候,我们可能需要知道某个特定文本在屏幕上的位置,以便进行后续的操作,所以本文将介绍如何使用 Python 中的 Selenium 和 BeautifulSoup 库来检测网页文本内容在屏幕上的坐标,需要的朋友可以参考下
    2024-04-04

最新评论