剑指offer之把二叉树打印成多行(Python)
来源:互联网 发布:263网络会议室 编辑:程序博客网 时间:2024/06/10 00:21
题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
思路:
1、把每层节点的val值用list存好
2、把每层节点存好:
①计算当层节点的个数,这样就保证下一步每层的结点都被pop光
②然后 依次弹出从左到右的每个节点,然后在list中加入该节点对应的左结点、右节点(如果存在的话)
代码如下:
class TreeNode(): def __init__(self,x): self.val = x self.left = None self.right = Nonedef 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
阅读全文
0 0
- 剑指offer之把二叉树打印成多行(Python)
- 剑指offer系列之五十五:把二叉树打印成多行
- 剑指offer系列之59:把二叉树打印成多行
- 剑指offer(五十一)之把二叉树打印成多行
- 剑指offer--把二叉树打印成多行
- 《剑指offer》把二叉树打印成多行
- 剑指Offer--把二叉树打印成多行
- 剑指offer:把二叉树打印成多行
- 剑指offer:把二叉树打印成多行
- [剑指offer]把二叉树打印成多行
- 剑指offer|把二叉树打印成多行
- 【剑指Offer】把二叉树打印成多行
- 剑指offer 把二叉树打印成多行
- 《剑指offer》把二叉树打印成多行
- 剑指offer-把二叉树打印成多行
- 剑指offer--把二叉树打印成多行
- 剑指offer--把二叉树打印成多行
- 剑指offer-把二叉树打印成多行
- 路径数组变为统计数组
- spring-dao配置
- java-13-死锁
- 3.6 Java static关键字-静态变量
- spark安装和编译
- 剑指offer之把二叉树打印成多行(Python)
- DevOps不能说的秘密
- numpy学习笔记(一)
- 2017年11月5日 第二十七次总结
- imx6q 串口设置
- python3.6 在windows 系统下安装mysqldb
- 联合体的使用
- LeetCode-461. Hamming Distance-位运算
- c语言--数组