二叉树的遍历,无非就是按层遍历,先序遍历,中序遍历和后序遍历这几种。其中后三种的先,中,后等等是相对于根节点而言的。给出一棵二叉树,我们可以按照相对应的规则去输出它的遍历序列,同样的,如果满足一定的条件,那么也可以通过给出的序列来还原相对应的二叉树。 以满二叉树为例,如下图:(略丑,将就看看) 这棵 ...
分类:
其他好文 时间:
2020-03-21 18:03:15
阅读次数:
65
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路 时间复杂度O(n),空间复杂度O(n)。 代码 java import java.util. ; / public class TreeN ...
分类:
其他好文 时间:
2020-03-21 12:51:41
阅读次数:
55
LeetCode 面试题32 II. 从上到下打印二叉树 II【剑指Offer】【Easy】【Python】【二叉树】【BFS】 问题 "力扣" 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如: 给定二叉树: , 返回其层次遍历结果: 提示: 1. `节点总数 L ...
分类:
编程语言 时间:
2020-03-20 23:58:49
阅读次数:
119
题目描述 从上往下打印出二叉树的每个节点,同层节点从左到右打印。 例如,以下二叉树层次遍历的结果为:1,2,3,4,5,6,7 解题思路 使用队列来进行层次遍历。 不需要使用两个队列分别存储当前层的节点和下一层的节点,因为在开始遍历一层的节点时,当前队列中的节点数就是当前层的节点数,只要控制遍历这么 ...
分类:
其他好文 时间:
2020-03-19 13:25:42
阅读次数:
64
面试题32 I. 从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 题解 层次打印,利用切片保存每层的节点即可 ...
分类:
其他好文 时间:
2020-03-14 20:12:28
阅读次数:
44
60. 把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 层序遍历即可 1 import java.util.Queue; 2 import java.util.LinkedList; 3 public class Solution { 4 ArrayL ...
分类:
其他好文 时间:
2020-03-08 21:43:02
阅读次数:
67
写这个程序的目的是学习数据结构的时候方便调试,学习起来也比较直观。 这个是我测试SplayTree时候的gif STEP 1 新建一个头文件,命名为DrawATree.hh, 将以下内容复制进去 cpp include "DrawATree.hh" include "YourTree.hh" int ...
分类:
编程语言 时间:
2020-03-08 17:38:24
阅读次数:
145
面试题32 - I. 从上到下打印二叉树 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x ...
分类:
其他好文 时间:
2020-02-28 22:34:33
阅读次数:
45
Q:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 A:BFS,偶数层reverse Q:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 A:BFS,比上面还简单,不用reverse( ...
分类:
其他好文 时间:
2020-02-27 19:19:16
阅读次数:
59
题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树:?[3,9,20,null,null,15,7], 返回: 提示: 节点总数 levelOrder(TreeNode root) { vector res; if (root) { queue que; ...
分类:
其他好文 时间:
2020-02-26 22:31:09
阅读次数:
83